python - 使用参数从 bash 脚本顺序调用多个 python 脚本

标签 python bash

我想制作一个 bash 脚本,根据终端中给出的参数连续运行一定数量的 python 脚本(它们运行的​​顺序并不重要)。

类似于:

kwargs = kwarg1 kwarg2 kwarg3

if kwarg1: python script1.py
if kwarg2: python name2000.py
if kwarg3: python program30.py

但是可以选择接受任意数量的关键字,只要它们与脚本匹配即可。

这将如何完成?

最佳答案

您可以做很多事情来添加它,但这是您要求的最简单的:

#!/bin/bash
for script in $*; do
    python $script.py
done

将其放入新文件中,例如“run_python.bash”,并使其可执行(chmod a+w run_python.bash)。

然后你通过:run_python.bash one 二三运行它,它将执行 one.py,然后是two.py,然后是 Three.py。

如果您想在 for 循环中使用 if 结构(即,如果您的关键字与脚本名称不匹配),则简单版本如下所示:

#!/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

这将根据您在命令行中输入的关键字的顺序执行您告诉它的任何内容。

附:这与python无关。无论您是调用 python、ls 还是任何可以在 bash 中运行的其他内容,该脚本的工作方式都是相同的。

关于python - 使用参数从 bash 脚本顺序调用多个 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52844472/

相关文章:

python - 元组比较 'A' == ('A' ),如何避免这种情况?

python - 如何在 Python 中设计代码?

Bash 脚本 - shell 命令输出重定向

javascript - 通过目录中的文件进行服务器端迭代

python - 元组拆包结合ipython shell转义

python - 从 Excel 获取输入并在 python 脚本中使用这些输入

python - 如何应用回溯算法?

python - 尝试使用 itertools.permutations 时出现 MemoryError,如何使用更少的内存?

linux - 如何压缩两个不同扩展名的文件

bash - 重命名多个目录,同时保留中间部分具有不同的后缀