我有一个脚本displaytext.pl
,其中包含以下内容
print join(" ",@ARGV),"\n";
当我使用
从我的mac终端运行它时perl displaytext.pl A\B
我得到了输出:
AB
但是,当我将其作为
运行时perl displaytext.pl 'A\B'
输入被正确解释为
A\B
使用引号传递字符串和不使用引号的字符串之间有什么区别。这是否意味着如果我们有任何转义字符,我们是否需要将其作为字符串传递?
答案 0 :(得分:5)
这与Perl无关。
反斜杠字符\
对于shell是特殊的,它解释您在终端中键入的所有内容。
$ echo A\B
AB
为了将它传递给任何命令,即使像echo
这样的shell内置,你也必须转义或引用它:
$ echo A\\B
A\B
$ echo 'A\B'
A\B