2017-06-19 460 views
0

我是Bash腳本的新手,所以我想知道是否可以通過一些幫助來找出這個簡單的問題。 我現在有我在我想在bash與下列參數蟒xxx.py file1.csv99 99 700 900 0.005 9 --use_cuda ý10來自動執行命令行運行Python文件 &>nameooutputfile.txt &(粗體東西傳遞給bash腳本作爲參數,非粗體命令是靜態的)帶有多個參數的Bash腳本

這裏是我試過到目前爲止:

if python xxx.py $1 $2 $3 $4 $5 $6 $7 --use_cuda $8 $9 &> ${10} &; then 
    echo "xxx.py completed succesfully!" 
else 
    echo "Error: xxx.py failed!" 
fi 

但我收到以下錯誤,當我運行該腳本:

line 45: syntax error near unexpected token `;' 
ine 45: `if python xxx.py $1 $2 $3 $4 $5 $6 $7 --use_cuda $8 $9 &> ${10} &; then' 

任何幫助表示讚賞。提前致謝!

+0

用';'替換'&;'。 – Cyrus

+0

@Cyrus感謝您的快速響應!我最後得到「&」的原因是因爲我希望命令仍然在後臺運行,即使在註銷後也是如此。 – user3235624

+0

nvm @choroba回答了這個問題。謝謝! – user3235624

回答

1

&;都是有效的命令分隔符,但它們不能合併成一個。

&用於在後臺運行該命令,檢查其在if中的返回值只是檢查作業是否能夠分叉,因此您可能只想使用;

+0

完美!非常感謝! – user3235624