我正在編寫一個腳本來搜索文件中的模式。例如如何在C shell中的命令行輸入設置多個單詞變量
腳本名模式文件1文件2 filenN
我用循環來遍歷參數argv的,如果所有的參數都提供它的工作。但是,如果只提供了一個參數(在這種情況下),它應該要求輸入文件名或名稱,然後檢查模式。我如何設置變量以包括從命令行輸入的多個單詞,以便我可以在循環中使用它。或者甚至更好的是可以將命令行輸入分配給argv,所以我不必僅僅因爲它是不同的變量名而使用相同的循環兩次(如果超過參數,則通過argv循環一次,然後循環遍歷文件名變量,如果只提供一個參數)。下面是我的腳本,這是造成問題的一部分:
set pattern = $1
if ($#argv == 1) then
echo "Enter name of files"
set filenames = $< #how I can set it to accept more than word?
endif
首先,如果它是在所有可能,你應該避免使用csh。它陷入了石器時代。 – 2009-11-07 21:12:37
我知道,但這是在uni中使用的,不幸的是我們必須學習它 – Mike55 2009-11-08 11:21:04
如果在輸入'file1 file2 file3'後回顯$ filenames',set filenames = $ <'的結果是什麼?它似乎爲我工作得很好。 – 2009-11-08 14:51:43