Notion Blog
技术分享1 分钟阅读

linux 中Python脚本在任意路径下输入脚本名执行

为何需要在任意路径下执行?原因就在于我们往往难以记住某些脚本的具体路径。通过这样做,我们就不再需要记住路径,从而极大地提高了便利性。

在Linux系统中,如果你希望一个Python脚本能在全局任意路径下执行,你需要做两件事:

设置脚本执行权限,并在脚本中指明Python解释器
把脚本放入path环境变量中

将Python脚本设置为可执行权限。在命令行中使用chmod命令:

chmod +x test.py

在脚本的首行添加一个She bang行,指明使用哪个Python解释器来执行此脚本。例如:

#!/usr/bin/env python3

# ...你的脚本代码...

这样,无论你在Linux系统的哪个位置,只要在命令行中输入该脚本的完整路径并执行,它就可以运行了。

./test.py

或者将其放在系统的PATH环境变量包含的目录中(如 /usr/local/bin),这样你可以在任何地方直接通过脚本名称执行它,无需指定完整路径:

mv test.py /usr/local/bin/
test.py

注意:这里的/usr/bin/env 需要替换为你实际的Python3解释器路径,可以通过which python3命令查找。

问题:

运行脚本时提示:“/usr/bin/env: ‘python3.11\r’: No such file or directory”,这个问题通常是由于在 Windows 系统下编写的脚本在类 Unix 系统(如 Linux 或 macOS)上运行时,由于行尾字符的不同而产生的。Windows 系统使用回车符(\r\n)作为行尾,而类 Unix 系统则只使用换行符(\n)。

为了解决这个问题,你可以按照以下步骤操作:

使用 vim(或你喜欢的文本编辑器)打开该脚本文件。
在 vim 中,执行命令 :set ff=unix,这将把文件的格式设置为 Unix 格式(即使用 \n 作为行尾)。
执行 :set ff 并回车,查看当前文件的格式。如果显示为 "fileformat=unix",则说明设置成功。
最后,执行 :wq 保存并退出 vim

完成以上步骤后,你的脚本文件应该能够在类 Unix 系统上正常运行了。

有关使用上的问题,欢迎您在底部评论区留言,一起交流~

读者评论

评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。