脚本执行报错提示常见问题与解决方法

脚本运行不起来?别急,先看报错提示

你在命令行敲完一段脚本,回车一按,结果没反应,反而跳出一堆红字:Permission deniedcommand not foundsyntax 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:

根据实际情况选 gbklatin1 等编码。

环境依赖缺失

写 Python 脚本用了 requests 模块,但新机器没装,运行就报 ModuleNotFoundError。这种时候别慌,装上就行:

pip install requests

最好把依赖写进 requirements.txt,方便别人一键安装。

学会看日志,事半功倍

有些脚本会输出详细日志,比如 Node.js 或 Java 工具。不要只盯着第一行红字,往下翻,往往真正的问题藏在中间。比如某服务启动失败,前面是警告,最后才是关键错误:Address already in use,说明端口被占用了。

遇到报错别直接重装或删了重来,先读提示。大多数“脚本执行报错提示”都在告诉你问题出在哪,就像导航说“前方拥堵,请绕行”,你得听。