linux shell命令,如何做到批处理执行多个命令?

比如要执行如下命令队列
python3 abc.py 1 >> 1.txt
python3 abc.py 2 >> 2.txt
python3 abc.py 3 >> 3.txt
...
python3 abc.py n >> n.txt

如何判断上一行命令是否执行关闭?然后再执行下行?(因为不判断结果导致前面的都没执行完,后面的就执行了)

谢谢,请指教!!!

阅读 4.3k
3 个回答

您的意思是一定要上面命令执行成功了,再执行下一个命令么?如果是,尝试用 && 命令。
python3 abc.py 1 >> 1.txt && python3 abc.py 2 >> 2.txt && python3 abc.py 3 >> 3.txt

这样试试, 但是 你都用python了, 干嘛不直接在python文件里分配参数写文件

for num in {1..n}; do
    if ! python3 abc.py $num >>$num.txt; then
        echo "执行 python3 abc.py $num  >>$num.txt 出错"
        exit 1
    fi
done

python3 abc.py 1 >> 1.txt \
&& python3 abc.py 2 >> 2.txt \
&& python3 abc.py 3 >> 3.txt \
...
&& python3 abc.py n >> n.txt \
&& echo 'finish~!'

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题