Linux下sh文件执行权限不够,该怎么做

时间:2024-04-14 11:36:53

Linux下sh文件执行权限不够,该怎么做

 

今天在部署公司大数据上层服务的时候,发现自己的微服务脚本是白色的,汗,没法执行。原来是没有 .sh 的执行权限,用 chmod 授权下就可以了。

Linux下sh文件执行权限不够,该怎么做

 

chmod是 Linux 中权限管理命令change the permissions mode of a file的缩写。

一、为所有 .sh 脚本添加执行权限

chmod u+x *.sh,表示对当前目录下的file.sh文件的所有者增加可执行权限。

  1. u 代表所有者;
  2. x 代表执行权限;
  3. + 表示增加权限;
  4. *.sh 表示当前目录下所有 .sh 文件。

二、为指定 .sh 脚本添加执行权限

chmod u+x file1.sh,表示对当前目录下的 file1.sh 文件的所有者增加可执行权限。

  1. u 代表所有者;
  2. x 代表执行权限;
  3. + 表示增加权限;
  4. file1 表示指定的脚本文件。

用以上两种方法授权后,在查看执行就可以啦。

Linux下sh文件执行权限不够,该怎么做

 

三、脚本执行异常

异常信息:/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 文件,然后复制粘贴过去也是可以的。