Bash 为什么它不会回音$d";安塞尔
我需要脚本来输出结果,但是Bash 为什么它不会回音$d";安塞尔,bash,Bash,我需要脚本来输出结果,但是echo“$d”不输出任何内容。我在脚本前面创建了ciphertext.gz,$fil就是ciphertext.gz。Bash脚本: echo "Fil: ciphertext.gz" a="ABCDEFGHIJKLMNOPQRSTUVXYZ" [[ "${*/-d/}" != "" ]] && echo "Usage: $0 [-d]" && exit 1 m=${1:+-} m=- t=$fil printf "Nøgle '
echo“$d”
不输出任何内容。我在脚本前面创建了ciphertext.gz,$fil
就是ciphertext.gz。Bash脚本:
echo "Fil: ciphertext.gz"
a="ABCDEFGHIJKLMNOPQRSTUVXYZ"
[[ "${*/-d/}" != "" ]] &&
echo "Usage: $0 [-d]" && exit 1
m=${1:+-}
m=-
t=$fil
printf "Nøgle 'eks. ABCDE': "
read -r k
k=$(echo "$k" | tr [a-vx-z] [A-VX-Z] )
printf "\n"
for ((i=0;i<${#t};i++)); do
p1=${a%%${t:$i:1}*}
p2=${a%%${k:$((i%${#k})):1}*}
d="${d}${a:$(((${#p1}${m:-+}${#p2})%${#a})):1}"
done
echo "$d"
echo“Fil:ciphertext.gz”
a=“ABCDEFGHIJKLMNOPQRSTUVXYZ”
[[“${*/-d/}”!=”“]]&&
回显“用法:$0[-d]”和退出1
m=${1:+-}
m=-
t=每分钟$fil
打印“Nøgle’eks.ABCDE”:
read-r-k
k=$(回声“$k”| tr[a-vx-z][a-vx-z])
printf“\n”
对于((i=0;i扩展注释)(不是真正的答案,因为不清楚代码应该做什么):
这是错误的:
m=${1:+-}
m=-
…因为它具有与以下相同的效果:
m=-
这将从标准输入中读取一行:
read -r k
…除非密文只有一行长
违背了接下来八行代码的目的。即使
标准输入是解压
,它只会解码
密文的第一行
在读取k
循环时,将的包装在适当的中
什么输入需要什么输出?你在做什么?ciphertext.gz中有什么?ciphertext.gz中有文本,我需要对ciphertext.gz中的文本进行解密并显示结果,但使用echo“$d”,它会留下屏幕空白缩进()这对你有好处!set-x
查看d=…
行是如何计算的。echo$d
正在工作,但是你分配给d=
的任务不起作用。可能会显示一条有用的错误消息。祝你好运。