我想制作一个bash脚本,该脚本根据终端中给出的参数连续运行一定数量的python脚本(它们的运行顺序无关紧要)。
类似的东西:
<?php
但是可以选择接受任意数量的关键字,只要它们与脚本匹配即可。
这将如何完成?
答案 0 :(得分:1)
您可以做很多事情,但这是您要的最简单的内容:
#!/bin/bash
for script in $*; do
python $script.py
done
将其放入新文件中,例如“ run_python.bash”,并使其可执行(chmod a+w run_python.bash
)。
然后通过以下方式运行它:run_python.bash one two three
,它将先执行one.py,然后执行two.py,再执行three.py。
如果您想在if
循环中使用for
结构(即,如果您的关键字与脚本名称不匹配),则简单版本如下所示:
#!/bin/bash
for script in $*; do
if [ $script == 'kwarg1' ]; then
python script1.py
fi
if [ $script == 'kwarg2' ]; then
python name2000.py
fi
if [ $script == 'kwarg3' ]; then
python program30.py
fi
done
这将根据您在命令行中输入的关键字顺序执行告诉您的内容。
p.s。这与python无关。无论您是调用python还是ls
或其他可以在bash中运行的脚本,该脚本的工作原理都相同。
答案 1 :(得分:0)
您需要shell脚本。
script.sh:
char
chmod + x script.sh
./ script.sh kwarg1