2011-10-04 68 views
1

我有一個名爲a.sh的可執行文件。它需要大量的參數。從參數列表中,我想將所有文件複製到另一個文件夾(/ myfolder)中。Bash:將文件的所有參數複製到目錄

例如,如果我在命令行上輸入:

./a.sh foo.out | tee -a text.txt 

假設foo.out和的text.txt都存在,我想將它們複製到MyFolder文件。

我正在考慮將所有參數寫入文件並逐行讀取文件,並使用if [-f]語句進行檢查。那裏有整潔/清潔解決方案嗎?

謝謝!

+4

'text.txt'不會**作爲'a.sh'的參數對待。上述命令執行'./a.sh foo.out'並將其輸出到'tee -a text.txt'。 – Dennis

回答

0

有點棘手,因爲您列出的文件實際上並不是a.sh的所有參數。 shell將它們分開,所以foo.out是a.sh的參數,text.txt是tee的一個參數。唯一可以做到的建議是將整個命令行存儲在一個字符串中,然後處理這些文件,然後對字符串進行評估。

0

(在這裏我假設管道符號是錯誤的問題。)

沒有必要寫入一個文件,因爲你可以很容易地檢查參數,不知道有多少。

for arg ; do 
    if [ -f $arg ]; then 
    cp $arg myfolder 
    fi 
done 

對於默認情況下會循環參數,這在這裏使用。

相關問題