问题
运行shell脚本直接报错:xxx.sh command not found
解决
可以按照下面的方式去排查:
- 将脚本文件变为可执行文件
chmod +x xxx.sh
- vim 进入脚本后
esc
+ : set ff
,如果不是显示fileformat=unix
,则文件格式有问题,输入set ff=unix
回车然后输入wq
保存 - 检查脚本内部的变量赋值,是否留了空格(shell脚本的变量时在变量名和等号之间是不允许有空格)
- 在脚本所在的目录执行脚本时,脚本前面使用
./
,比如./xxx.sh
,而不是xxx.sh
- 脚本内引用脚本文件的前面是否使用
./