在我的主目录中创建 Python 脚本文件 test.py 并运行chmod +x test.py
使其可执行,并将其#!usr/bin/env
作为文件头放置后,我希望能够在bash
OS X 上运行该脚本,使用:
$ test.py
但bash
返回:
-bash: test.py: command not found
以下命令有效:
$ ./test.py
为什么这个可执行脚本需要当前工作目录中的相对路径?
答案1
当您向 shell 发出运行命令时,它会在执行路径 ($PATH) 中搜索程序。在命令前面加上路径(例如 ./)可防止 shell 搜索并指示 shell 使用显式指定的特定程序。
如果程序驻留在不在搜索路径中的目录中,那么您必须显式指示该程序的路径。