我有一個bash腳本爲當前目錄創建一個Subversion補丁文件。如果將-z
作爲參數提供給腳本,我想修改它以壓縮生成的文件。我可以在變量中指定重定向和管道嗎?
下面是相關的部分:
zipped=''
zipcommand='>'
if [ "$1" = "-z" ]
then
zipped='zipped '
filename="${filename}.zip"
zipcommand='| zip >'
fi
echo "Creating ${zipped}patch file $filename..."
svn diff $zipcommand $filename
,因爲它通過包含在$zipcommand
的|
或>
作爲參數傳遞給svn
這是行不通的。
我可以很容易地解決這個問題,但問題是當它們包含在變量中時是否可以使用這些類型的操作符。
謝謝!
謝謝! 是的,我最初有錯誤的zip參數,因爲我從一個腳本中調用了這個腳本,該腳本將「svn status」給出的文件轉換爲「zip - @」,從stdin讀取文件名。 – Owen 2008-09-24 19:21:46