必须先用chmod +x赋予执行权限或勾选“允许作为程序执行”,再通过./脚本名运行;也可用bash your_script.sh临时执行,但需确保首行有正确的#!/bin/bash声明。

在统信UOS中双击.sh脚本没反应、终端执行报“Permission denied”或“command not found”,说明脚本既没被系统识别为可执行程序,也没通过正确方式调用——必须先解决权限问题,再匹配调用路径与解释器。
用chmod命令赋予执行权限
这是最底层、最可靠的方式,直接修改文件的Linux权限位,适用于所有场景,包括脚本后续要设为开机自启或加入定时任务。
第一步:在文件管理器中右键点击目标.sh脚本 → 选择“在终端中打开”,自动进入该脚本所在目录。
第二步:运行ls -l your_script.sh查看权限,若显示为-rw-r--r--(末尾无x),说明确实缺少执行位。
第三步:执行chmod +x your_script.sh。这会为所有者、所属组及其他用户都添加执行权限,等效于chmod 755,适合多数个人使用场景。
第四步:再次运行ls -l your_script.sh确认输出已变为-rwxr-xr-x——【只要末尾三个字符里有一个x,就代表该类用户具备执行权】。
第五步:在终端中输入./your_script.sh运行。【前面的./不可省略,否则系统会在PATH环境变量里搜索,必然失败】。
通过图形界面勾选“允许作为程序执行”
适合不熟悉命令行的用户,操作直观,即时生效,但仅对当前用户有效,且不能批量处理多个脚本。
方法一:右键脚本文件 → “属性” → 切换到“权限”选项卡 → 勾选“允许作为程序执行”(部分UOS版本显示为“允许以程序方式运行”)→ 点击“应用”。
方法二:若“允许作为程序执行”未直接显示,先点击“显示更多选项”,再查找“设为可执行”或“添加执行权限”条目并启用。
完成设置后,双击脚本会弹出运行确认对话框,选择“在终端中运行”即可启动——【不要选“运行”,那会尝试在图形环境中直接执行,多数shell脚本会闪退】。
不改权限也能运行:用bash或sh显式调用
当你只是临时测试脚本内容,或脚本放在NTFS/FAT格式的U盘、Windows分区上(这类分区默认挂载为noexec,chmod +x无效),可跳过权限设置,直接指定解释器运行。
在终端中进入脚本所在目录后,执行bash your_script.sh即可。这种方式绕过了Linux的执行权限检查,完全依赖bash进程读取并解析脚本内容。
如果脚本兼容POSIX shell,也可用sh your_script.sh,但统信UOS默认交互shell是bash,某些bash特有语法(如数组、[[ ]]判断)在sh下会报错。
验证脚本首行解释器声明
脚本必须明确指定解释器路径,否则系统无法识别应使用bash、sh还是其他shell执行,可能导致语法错误或直接退出。
① 用文本编辑器打开脚本:nano your_script.sh
② 确认第一行严格为:#!/bin/bash(注意:不能有空格、BOM头、中文字符)
③ 若使用其他shell(如dash),需对应改为#!/bin/sh;但统信UOS默认以bash为交互shell,推荐统一使用#!/bin/bash。
④ 保存并退出编辑器。











