我是Bash脚本的新手,所以我想知道我是否可以帮助找出这个简单的问题。 我目前有一个python文件,我在命令行中运行,我希望在bash中自动执行以下参数python xxx.py file1.csv 99 99 700 900 0.005 9 --use_cuda Y 10 &> nameooutputfile.txt & (以粗体显示的任何内容作为参数传递给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 :(得分:1)
&
和;
都是有效的命令分隔符,但它们不能合并为一个。
&
用于在后台运行命令,检查if
中的返回值只会检查作业是否能够分叉,所以你可能只想使用{{1 }}