2013-07-23 41 views
0

我在csh中使用perl。現在我正在使用獲取選項的東西。 我想作爲CSH輸入 - 使用getOptions接受wilcard而不使用 -Perl

myperl -f temp1*.txt 

使用但它不會進入代碼,並給我錯誤「不匹配。」 目前我下面的事情正在..

myperl -f temp1\*.txt 

myperl -f "temp1*.txt" 

如何獲得第一件事工作?

回答

1

它不能工作。星號是shell中的特殊字符。所以你無論如何都需要逃避它。

大多數字符(*,'等)不能通過將它們放在雙引號("")中來解釋(即它們是從字面上理解的)。他們被視爲並被傳遞給被調用的命令。使用星號(*)的例子有云:

$ echo * 
case.shtml escape.shtml first.shtml 
functions.shtml hints.shtml index.shtml 
ip-primer.txt raid1+0.txt 
$ echo *txt 
ip-primer.txt raid1+0.txt 
$ echo "*" 
* 
$ echo "*txt" 
*txt 

Source

+0

那麼爲什麼簡單的 'LS *' 命令? –

+0

對不起,我沒有明白你的觀點。你能說清楚嗎? – 2013-07-23 06:28:45

+0

我的意思是如果簡單ls *在不使用'\\ *'的情況下工作。那麼它應該也適用於temp * .txt,對吧? –