2012-07-20 102 views
0

雖然在shell腳本執行命令,就像如下我收到一個錯誤,請幫助錯誤執行命令焦油-xjf

tar -xjf $tarfile 

錯誤是:

tar: option requires an argument -- f 
+2

也許$是空的。 – Sjoerd 2012-07-20 10:31:55

+0

無tar文件不爲空。我在shell腳本中執行這個語句 – 2012-07-20 10:35:34

+0

你確定你的變量不是空的嗎?嘗試在腳本開頭添加'set -x'並重新運行它。仔細觀察輸出。 – rush 2012-07-20 11:13:24

回答

0

然後變量$ tarfile顯然是空的。參數f需要一個文件名或連字符來表示標準輸入允許數據傳輸到tar。 j參數期望找到以bzip2格式壓縮的tarfile。

在你的腳本,你必須做同樣的事情:

tarfile=/path/to/file.tar.bz2 
tar -xjf $tarfile 

或管道的例子:

tar文件
ssh [email protected] cat /path/to/file.tar.bz2|tar -xjf - 
0

這是因爲$ tar文件變量是空的。