2018-07-01(关于Windows下脚本在Linux下运行的问题)

今天学习的时候发现一个问题就是,在linux下运行shell脚本,总是出现类似于$'\r':command not found

如下

2018-07-01(关于Windows下脚本在Linux下运行的问题)_第1张图片

这是因为这个脚本是在windows下写的,然后通过rz上传到linux下直接运行的,因为windows下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,所以导致每行的配置都多了个\r。

所以,windows上传到linux的文件需要做一个转换

方法如下:

安装tofrodos

sudo apt-get install tofrodos 

相当于安装了两个工具:todos(相当于unix2dos),和fromdos(相当于dos2unix)

比如:

todos Hello.txt (即unix2dos Hello.txt)

fromdos Hello.txt (即dos2unix Hello.txt)


接着运行shell.sh 就能正常运行啦

2018-07-01(关于Windows下脚本在Linux下运行的问题)_第2张图片

你可能感兴趣的:(2018-07-01(关于Windows下脚本在Linux下运行的问题))