脚本格式问题记录

服务器上的一些脚本迁移到其他服务上发生的小问题
问题:执行一个在win10系统编写好的shell脚本,放到Linux上执行报错如下:

bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory 

原因:window系统写的脚本,文档格式与linux不一致,这里应该不是编码上的问题(下图是我用notepad编辑的)
脚本格式问题记录_第1张图片
验证:

cat -A xxx.sh

在linux查看到的
脚本格式问题记录_第2张图片
在window查看到的
脚本格式问题记录_第3张图片
这里需要转换一下Unix格式即可
解决方法:
1、window系统通过编辑工具,我用的是notepad自带的如图1右下角“转为Unix”
2、Linux系统通过命令替换掉^M字符(所以应该是不同系统的换行符号不一样导致的吧 且都是在换行的位置出现)

sed -i "s/\r//" xxx.sh

其他小问题顺便记录一下Permission denied 权限不足

[root@centos mnt]# ./xxx.sh                                                   
bash: ./xxx.sh: Permission denied

解决方法是赋权我这里没有其他权限要考虑直接给最大

chmod 777 xxx.sh

你可能感兴趣的:(Linux,linux,运维,centos)