2013-05-31 111 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