我刚开始学习bash
,有个问题请教一下。
我必须进行密码本加密。例如,用给定的字母模式交换字母表中的字母。例如:
Hello World. has to become Qlxxa vaoxk.
但我使用此命令得到了不同的结果:
echo $line | tr 'a-z' "$line1"
line 有我的消息 line1 有模式 结果比我想要的多移动了一个字母。
答案1
事实证明,问题出在图案的提供方式上;它是从文件中读取的,其中一行是小写替换,第二行是大写替换。阅读它与
line1="$(<pattern.txt)"
导致小写和大写模式之间出现空格,从而使所有字符出现移位。
解决方案是在读取后删除空格
line1="${line1// /}"