任何人能解釋這是我發瘋奇怪的回聲輸出
[[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