今天在部署公司大数据上层服务的时候,发现自己的微服务脚本是白色的,汗,没法执行。原来是没有 .sh 的执行权限,用 chmod 授权下就可以了。
chmod是 Linux 中权限管理命令change the permissions mode of a file的缩写。
一、为所有 .sh 脚本添加执行权限
chmod u+x *.sh,表示对当前目录下的file.sh文件的所有者增加可执行权限。
- u 代表所有者;
- x 代表执行权限;
- + 表示增加权限;
- *.sh 表示当前目录下所有 .sh 文件。
二、为指定 .sh 脚本添加执行权限
chmod u+x file1.sh,表示对当前目录下的 file1.sh 文件的所有者增加可执行权限。
- u 代表所有者;
- x 代表执行权限;
- + 表示增加权限;
- file1 表示指定的脚本文件。
用以上两种方法授权后,在查看执行就可以啦。
三、脚本执行异常
异常信息:/bin/sh^M: bad interpreter: No such file or directory
异常原因:是我们在 windows 下编写的脚本文件,直接放到 Linux 默认的是 dos 模式的文本,不被识别,需要处理下。
解决办法:
1、用 vim 打开脚本文件,在命令模式下输入:set ff=unix, 保存就可以了。
2、在 windows下转换脚本格式,用 Notepad 改变文件格式即可。File-->Conversions-->DOS->UNIX。
3、在 Linux 下新建一个 .sh 文件,然后复制粘贴过去也是可以的。