【问题标题】:How to pass an argument to a shell script? [duplicate]如何将参数传递给 shell 脚本? [复制]
【发布时间】:2021-04-16 20:46:45
【问题描述】:

我有一个指向 Python 脚本的 shell 脚本。

脚本.sh

#!/bin/bash
python /folder/script.py

Python 脚本接受一个参数,例如script.py -d 20210107

我尝试使用 script.sh -d 20210107 之类的日期参数运行 shell 脚本,但这不起作用。我需要在我的 shell 脚本中添加一些东西来解决这个问题吗?

【问题讨论】:

    标签: python bash shell argparse


    【解决方案1】:
    #!/bin/bash
    python /folder/script.py "$@"
    

    使用 $@ 将参数从上层脚本传递到下层脚本。

    【讨论】:

    • @CharlesDuffy,添加引号。
    • $* 和 $@ 有什么区别?
    • @AviG 后者正确地保留了被引用并在其中包含空格的输入。前者基本上为您提供了如果在没有引用的情况下编写参数时您将拥有的东西 - 因此一个带有空格的参数可以被视为两个参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2016-08-16
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2018-09-05
    • 2012-06-03
    相关资源
    最近更新 更多