我正在尝试在 Ubuntu 上使用 shebang 运行 Python 脚本。当我创建 Python 脚本时
#! /usr/bin/env python
import sys
...运行它时出现 shell 错误:
root@host:/home/user# ./test.py
: No such file or directory
我怎样才能让它工作?
解决方案:使用 dos2unix 从行尾删除 '\r'。
答案1
我假设该脚本是可执行的?另外,检查回车符 —— 也许 Windows 对其有所干预?您可以使用“cat -vE test.py”进行检查,然后查找“\r”。
答案2
您的文件中可能有 windows 行尾。请尝试运行dos2unix在上面。
答案3
尝试删除 #! 和 /usr/bin/env 之间的空格,但我不明白为什么在没有导入包的情况下这样做会起作用……
答案4
使用下面的一行代码删除新行字符。
perl -e 's/\r//g' -w -p -i 测试.py
或者
sed -e “s/^M//” 测试.py > 测试_new.py