如何将参数传递给 shell 脚本? [复制]

Posted

技术标签:

【中文标题】如何将参数传递给 shell 脚本? [复制]【英文标题】:How to pass an argument to a shell script? [duplicate] 【发布时间】: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 脚本中添加一些东西来解决这个问题吗?

【问题讨论】:

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

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

【讨论】:

@CharlesDuffy,添加引号。 $* 和 $@ 有什么区别? @AviG 后者正确地保留了被引用并在其中包含空格的输入。前者基本上为您提供了如果在没有引用的情况下编写参数时您将拥有的东西 - 因此一个带有空格的参数可以被视为两个参数。

以上是关于如何将参数传递给 shell 脚本? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将多个参数传递给 shell 脚本到`kubectl exec`?

如何将命令行参数传递给 spark-shell scala 脚本?

如何将参数传递给 erlang os:cmd()?

如何将传递给我的 bash 脚本的所有参数传递给我的函数? [复制]

如何将文件路径作为 bash 脚本中的参数传递给函数? [复制]

如何在 Linux 中使用终端命令将文件参数传递给我的 bash 脚本? [复制]