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


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 文件,然后复制粘贴过去也是可以的。
相关推荐
-
PHP8种变量类型的详细讲解2025-02-22 00:32:24
-
php+apache 和 php+nginx的区别2025-02-22 00:21:27
-
PHP:与workerman结合实现定时任务2025-02-22 00:15:57
-
Nginx的Rewrite规则与实例2025-02-22 00:15:39
-
MySql中身份证字段的简单脱敏介绍2025-02-22 00:15:36