直接用 chmod +x 文件名即可快速添加执行权限;通过 ls -l 查看权限位是否含 x,运行时必须用 ./script.sh 并确保 shebang 正确、换行符为 Unix 格式且所在文件系统支持执行。

直接用 chmod +x 文件名 就能加上可执行权限。这是最常用、最快速的方式,适合绝大多数日常场景。
怎么看当前有没有执行权限
在终端里运行:
-
ls -l 脚本名(比如
ls -l deploy.sh)
输出类似 -rw-r--r-- 表示没有 x,也就是不可执行;如果看到 -rwxr-xr-x 或其中任意一组有 x,就说明已有执行权限。
怎么加权限:三种常用写法
- chmod +x script.sh:所有人(所有者、组、其他)都获得执行权限
- chmod u+x script.sh:仅文件所有者可执行(更安全,推荐私有脚本用)
- chmod ug+x script.sh:所有者和同组用户可执行(适合团队共享脚本)
加完权限后怎么运行
必须用 ./script.sh 的方式运行(前面带 ./),不能只输 script.sh。
因为系统默认只在 PATH 环境变量列出的目录里找命令,当前目录不在其中。加 ./ 是明确告诉 shell:“就在当前目录下找并执行这个文件”。
常见失败原因和检查点
-
脚本首行少了 shebang:比如 Python 脚本要以
#!/usr/bin/env python3开头,Shell 脚本要以#!/bin/bash开头,否则系统不知道用什么程序来运行它 -
文件是 Windows 格式(含 ^M):用
vim script.sh进入后输入:set ff=unix再保存即可修复 -
所在目录没执行权限:运行
ls -ld .查看当前目录权限,如果末位没有x,则无法进入该目录执行文件 -
挂载选项禁用了执行:比如 U 盘或某些网络盘可能被
noexec挂载,这时 chmod +x 也无效,需重新挂载或换位置


















