python - 具有多个参数的 Bash 脚本

标签 python linux bash shell

我是 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'

感谢任何帮助。提前致谢!

最佳答案

&; 都是有效的命令分隔符,但是它们不能合并为一个。

& 用于在后台运行命令,在 if 中检查它的返回值只会检查作业是否能够 fork ,所以你可能想要仅使用 ;

关于python - 具有多个参数的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44635039/

相关文章:

python - 在子字符串上熔化和合并 - Python 和 Pandas

Python Plotly - 多个下拉图,每个都有子图

java - Java 进程中的 Sudo

python - 激活python虚拟环境如何修改sys.path?

python - 使用 Cloud TPU 节点对 Tensorboard 进行预测调用分析

python - 为什么 subprocess.call() 没有按预期运行命令?

linux - 在 Ubuntu 中从 smb.conf 文件中删除分号的命令

c# - 如何在 Linux 的单声道解决方案中删除对 System.Deployment 的引用?

实时服务器上的 Linux apache/etc/hosts 设置

bash - 意外标记附近的语法错误 'elif'