我在 MacOS Catalina 上使用 Zsh。
我在读使用 Python 自动化枯燥的工作作者只需在终端中mapIt.py
输入即可运行。mapit
为了做到这一点,我在代码顶部添加了一个 shebang:
#!/usr/bin/env python
我也标记了它chmod +x script.py
并将目录添加到我的PATH
。
但是为了运行它,我需要输入script.py
。输入script
不起作用。
我该怎么做?
答案1
我认为我在网上找到的.此片段
C:\> mapit 870 Valencia St, San Francisco, CA 94110
(即C:\>
)和其他细节表明作者使用 Windows。在 Windows 中,可以通过键入不带扩展名的名称来运行某些扩展名的文件。作者很可能已为 启用了该功能.py
。比较一下:使 Python 脚本在 Windows 上运行而不指定.py
扩展名。
在Unix/Linux中.py
,inscript.py
只是名称的一部分。没有扩展的概念(除了用户头脑中的概念)。
因此只需将脚本命名script
为 而不是。如果您希望无论键入或script.py
都能运行相同的脚本,则将脚本放在一个名称下,并从另一个名称创建到实际脚本的符号链接。script.py
script
注意(至少在 Linux 中)有script(1)
实用程序。根据您的PATH
命令script
将运行脚本或实用程序(如果已安装)。
另一种方法是让 shell在结果为foo.py
时尝试运行(对于任何)。请参阅以下一般问题:foo
command not found
foo
并以这两个答案为例(注意,它们针对的是 Bash):
在 Zsh 中,该函数名为command_not_found_handler
. 通过将其中一个示例移植到 Zsh 来构建您的解决方案。