为什么以下 .sh 脚本在 PATH 中时说找不到 .py 命令?
Why is the following .sh script saying .py command not found when the script is in PATH?
我正在尝试 运行 https://rki_bioinformatics.gitlab.io/ditasic/ 中的示例工作流,其中 example.sh 是主要的 bash 脚本,它将获取示例数据并输出一些数据矩阵。
在将 运行 示例工作流的 example.sh 脚本中,我们有以下第 9 行:
ditasic_matrix.py -l 100 -o output/similarity_matrix35.npy data/reference_paths
但是在macOS的终端中example.sh为运行时,会出现如下信息:
DiTaSic /ditasic_example/example.sh: line 9: ditasic_matrix.py: command not found
但是ditasic_matrix.py已经存在于我为终端设置的路径中。我已将 ditasic_matrix.py 放在一个目录中,该目录的路径已通过
添加到终端的 PATH 中
export PATH="$PATH":
那么发生了什么导致找不到命令?
将脚本中的 ditasic_matrix.py
行更改为 ./ditasic_matrix.py
,因为当前路径未包含在可执行文件搜索中。
如果还是不执行,可能文件没有设置可执行位。
在该文件夹中打开 terminal/console 并发出
chmod +x ditasic_matrix.py
ditasic_matrix.py
文件似乎有以下解释器设置:#!/usr/bin/env python
。由于您似乎无法 运行 它,因此这似乎不是您 运行 宁 Python 的实际路径。请确保:
1) 您已安装 Python
2) 可以在命令行中运行ning python
执行Python程序
我正在尝试 运行 https://rki_bioinformatics.gitlab.io/ditasic/ 中的示例工作流,其中 example.sh 是主要的 bash 脚本,它将获取示例数据并输出一些数据矩阵。
在将 运行 示例工作流的 example.sh 脚本中,我们有以下第 9 行:
ditasic_matrix.py -l 100 -o output/similarity_matrix35.npy data/reference_paths
但是在macOS的终端中example.sh为运行时,会出现如下信息:
DiTaSic /ditasic_example/example.sh: line 9: ditasic_matrix.py: command not found
但是ditasic_matrix.py已经存在于我为终端设置的路径中。我已将 ditasic_matrix.py 放在一个目录中,该目录的路径已通过
添加到终端的 PATH 中export PATH="$PATH":
那么发生了什么导致找不到命令?
将脚本中的 ditasic_matrix.py
行更改为 ./ditasic_matrix.py
,因为当前路径未包含在可执行文件搜索中。
如果还是不执行,可能文件没有设置可执行位。
在该文件夹中打开 terminal/console 并发出
chmod +x ditasic_matrix.py
ditasic_matrix.py
文件似乎有以下解释器设置:#!/usr/bin/env python
。由于您似乎无法 运行 它,因此这似乎不是您 运行 宁 Python 的实际路径。请确保:
1) 您已安装 Python
2) 可以在命令行中运行ning python
执行Python程序