今天学习的时候发现一个问题就是,在linux下运行shell脚本,总是出现类似于$'\r':command not found
如下
这是因为这个脚本是在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 就能正常运行啦
网友评论