任何人能解释这是我发疯奇怪的回声输出
[[email protected] bin]# export test=`whois -h whois.lacnic.net 187.14.6.108 | grep -i inetnum: | awk '{print $2}'`
[[email protected] bin]# echo $test
187.12/14
[[email protected] bin]# echo "iptables -I INPUT -s $test -J DROP"
-J DROP -I INPUT -s 187.12/14
[[email protected] bin]#
为什么我echo
搞砸了bash shell中的这种行为?它正在被$test
的内容所改变。
如果您将$test
更改为“ABC”,一切正常。它与斜线有关吗?
我怀疑'$ test'中可能会有一些不可见的字符,例如回车符,这会导致'-J DROP'在输出中备份和覆盖'iptables'。换句话说,“187.12/14”字符串可能类似于“\ r187.12.14”或类似的东西。 – lurker
@devnull - 与|无关 - 我认为mbratch是正确的 –
@JimHolland格式引起反引号(命令替换)为_invisible_。我被带到认为你正在使用'''作为变量的命令。 – devnull