2013-05-31 69 views
1

我是perl noob在这里,并希望从我的unix机器的命令行运行此。从命令行(perl)转义的参数

./myprog.pl $str1 str2 

当我需要str1更换str2。麻烦的是,我不知道如何摆脱$str1的说法。我试着在这里和其他网站上看,但我找不到任何东西。任何帮助将不胜感激!

回答

1

什么shell?那是bourne-shell还是衍生物,那么下面的两个将通过$str1str2到程序。

./myprog.pl '$str1' str2 

./myprog.pl \$str1 str2 

但是你说 “取代” 的。第一个arg是否为$str1的正则表达式?如果是这样,那么你可以使用以下两种:

./myprog.pl '\$str1' str2 

./myprog.pl \\\$str1 str2 

此逃脱$的正则表达式引擎(通过添加\),然后逃脱\$的外壳(通过添加引号或额外\小号)。

+0

是的我正在使用bash。出于某种原因,当我用“'或者以\开头时,它没有对参数进行任何处理。它只输出$ str1。 我想我的下一个问题是$ str1如何得到它的价值? –

+0

呵呵?字符串不会获得价值。 – ikegami