原因
shell脚本编写时的系统和执行脚本的系统不一致,比如在windows系统编写的脚本,放到linux系统时会遇到此问题。windows下编写的.sh文件为dos格式,而linux只能执行格式为unix格式的脚本。
解决方法
一、如果你想直接执行,那么可以通过source test.sh或者…/test.sh来执行,如果不起作用,在执行第二步。
二、按下面顺序执行
1、通过vim打开要执行的文件
$vim test.sh
2、:set ff命令查看文件格式
:set ff
>> fileformat=dos
3、修改文件format为unix
:set ff=unix
或
:set fileformat=unix
4、:wq保存退出