首页 > 解决方案 > 如何在 shell 脚本中转发命令行参数?

问题描述

我的目标是在我的 Mac 终端上运行一个将命令行参数传递给 python 脚本的 shell 脚本。我知道如何在 Windows 上做到这一点:

批处理文件(pythonScript.bat):

@py.exe C:\path\to\my\pythonScript.py %*
@pause

%* 将在批处理文件名之后输入的任何命令行参数转发到 Python 脚本。所以当我从命令行运行 pythonScript.bat 时......

C:\> pythonScript

...我在批处理文件名之后输入的参数(例如 C:> pythonScript 一些参数)被传递给 python 脚本。

我怎样才能在我的 Mac 上做到这一点?

如何补充我的代码,以便将任何命令行参数转发到 python 脚本?

外壳脚本(pythonScript.command):

#!/usr/bin/env bash
python3 /path/to/my/pythonScript.py

标签: pythonbashterminal

解决方案


在 Linux bash 我会做:

#!/usr/bin/env bash
`python3 /path/to/my/pythonScript.py "$@"`

$@ 被解释为传递给 bash 脚本的参数列表。

我没有Mac来测试它,但值得一试


推荐阅读