echo `echo \\\\\\\z`的结果
本帖最后由 xiaoshichao143 于 2012-07-05 09:02 编辑echo `echo \z` # z
echo `echo \\z` # z
echo `echo \\\z` # \z
echo `echo \\\\z` # \z
echo `echo \\\\\\z` # \z
echo `echo \\\\\\\z` # \\z echo \\\\\\\z的结果为\\\z,echo \\\z的结果为\z..为什么echo `echo \\\\\\\z`的结果是\\z而不是\z
echo "\z" #\z
echo "\\z" #\z
echo `echo "\z"` # \z
echo `echo "\\z"` # \z
找到答案啦:
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3668196 在Bash当中是这么解析的,如果backslash后面的一个字符是dollar, backtick, double quote, backslash or newline,这个前导的backslash将被Bash移除(从输入流当中就处理了),而dollar,backtick,double quote,backslash or newline将保留它们本身的含义。
原来如此,学习了:victory:
原来如此,学习了:lol
http://www.model61.net/Mzone/3261217/ComPost.asp?t=Vote
http://www.model61.net/Mzone/3261217/ComPost.asp?t=Flowers shell还是相当复杂的。虽然没啥语法,但抗不住规则多。
页:
[1]