从命令行转义的参数(perl)

时间:2013-05-31 02:29:37

标签: perl unix

我在这里是perl菜鸟,想要从我的unix机器的命令行运行它。

./myprog.pl $str1 str2

我需要将str2替换为str1。麻烦的是我不知道如何逃离$参数中的str1。我试着在这里和其他网站上看,但我找不到任何东西。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

什么外壳?这是bourne-shell还是衍生物,然后以下两个都会将$str1str2传递给该程序。

./myprog.pl '$str1' str2

./myprog.pl \$str1 str2

但你谈的是“替换”。第一个arg是假设是匹配$str1的正则表达式模式吗?如果是这样,那么您可以使用以下任一项:

./myprog.pl '\$str1' str2

./myprog.pl \\\$str1 str2

这为正则表达式引擎转义$(通过添加\),然后转义shell的\$(通过添加引号或额外{{} 1}} S)。