我有一個名爲a.sh的可執行文件。它需要大量的參數。從參數列表中,我想將所有文件複製到另一個文件夾(/ myfolder)中。Bash:將文件的所有參數複製到目錄
例如,如果我在命令行上輸入:
./a.sh foo.out | tee -a text.txt
假設foo.out和的text.txt都存在,我想將它們複製到MyFolder文件。
我正在考慮將所有參數寫入文件並逐行讀取文件,並使用if [-f]語句進行檢查。那裏有整潔/清潔解決方案嗎?
謝謝!
我有一個名爲a.sh的可執行文件。它需要大量的參數。從參數列表中,我想將所有文件複製到另一個文件夾(/ myfolder)中。Bash:將文件的所有參數複製到目錄
例如,如果我在命令行上輸入:
./a.sh foo.out | tee -a text.txt
假設foo.out和的text.txt都存在,我想將它們複製到MyFolder文件。
我正在考慮將所有參數寫入文件並逐行讀取文件,並使用if [-f]語句進行檢查。那裏有整潔/清潔解決方案嗎?
謝謝!
有點棘手,因爲您列出的文件實際上並不是a.sh的所有參數。 shell將它們分開,所以foo.out是a.sh的參數,text.txt是tee的一個參數。唯一可以做到的建議是將整個命令行存儲在一個字符串中,然後處理這些文件,然後對字符串進行評估。
(在這裏我假設管道符號是錯誤的問題。)
沒有必要寫入一個文件,因爲你可以很容易地檢查參數,不知道有多少。
for arg ; do
if [ -f $arg ]; then
cp $arg myfolder
fi
done
對於默認情況下會循環參數,這在這裏使用。
'text.txt'不會**作爲'a.sh'的參數對待。上述命令執行'./a.sh foo.out'並將其輸出到'tee -a text.txt'。 – Dennis