从Windows传进linux的shell脚本报找不到命令的解决办法

  有时候我们在Windows对Shell脚本做了些修改,然后再传进linux发现报找不到命令的错误,检查脚本根本没有问题,这时候可以使用cat -A file.sh命令查看脚本的所有字符。发现命令后面会有^M符号,^M代表是一个Windows换行符,只要去掉这个符号就可以了,我个人比较习惯使用sed -i 's/^M//g' file.sh命令,也可以使用dos2unix 命令,不过这个命令好像在某种场合会失效,之前有一次没有替换掉,所以我还是倾向于sed直接替换,这样也彻底一点。

  把^M去掉以后脚本就可以正常执行了,在linux中使用Ctrl+V+M组合键才能打出来^M符号

Guess you like

Origin blog.csdn.net/qq_38892977/article/details/120041962
Recommended