脚本运行不起来?别急,先看报错提示
你在命令行敲完一段脚本,回车一按,结果没反应,反而跳出一堆红字:Permission denied、command not found、syntax error……这些就是脚本执行报错提示。很多人一看就慌,其实大部分错误都有迹可循。
权限不足:Permission denied
比如你写了个 Shell 脚本 backup.sh,执行时却提示:
bash: ./backup.sh: Permission denied这是因为文件没有执行权限。解决办法很简单,在终端运行:
chmod +x backup.sh
再执行 ./backup.sh 就没问题了。
命令找不到:Command not found
有时候报错显示 python: command not found 或者 node: command not found,说明系统压根没装这个程序,或者路径没配对。可以先用 which python 看看有没有找到位置。如果没装,就得去官网下载安装;如果装了但路径不对,可能需要把可执行文件路径加到环境变量里。
语法错误:SyntaxError
Python 脚本最容易出现这类问题。比如少了个括号、冒号写成中文的,都会导致报错:
SyntaxError: invalid syntax
这时候要仔细看报错提示的行号,定位到具体哪一行。比如下面这段代码就有问题:
print("Hello World"
缺了一个右括号,补上就正常了。
路径问题:No such file or directory
脚本里经常要读取配置文件或数据,写的是相对路径 ./config.txt,但你在别的目录下执行脚本,就会提示文件不存在。建议在脚本开头加上路径判断,或者改用绝对路径,避免出错。
编码问题:UnicodeDecodeError
处理文本时,尤其是 Windows 上生成的文件,常遇到编码错误:
UnicodeDecodeError: 'utf-8' codec can't decode byte...
这时候可以在打开文件时指定编码格式:
with open('data.txt', 'r', encoding='gbk') as f:
根据实际情况选 gbk 或 latin1 等编码。
环境依赖缺失
写 Python 脚本用了 requests 模块,但新机器没装,运行就报 ModuleNotFoundError。这种时候别慌,装上就行:
pip install requests
最好把依赖写进 requirements.txt,方便别人一键安装。
学会看日志,事半功倍
有些脚本会输出详细日志,比如 Node.js 或 Java 工具。不要只盯着第一行红字,往下翻,往往真正的问题藏在中间。比如某服务启动失败,前面是警告,最后才是关键错误:Address already in use,说明端口被占用了。
遇到报错别直接重装或删了重来,先读提示。大多数“脚本执行报错提示”都在告诉你问题出在哪,就像导航说“前方拥堵,请绕行”,你得听。