运行Linux脚本需确保可执行权限并正确调用。1. 使用chmod +x script.sh添加权限;2. 通过./script.sh(推荐)、sh script.sh或source script.sh执行;3. 脚本首行应包含#!/bin/bash指定解释器;4. 常见问题包括权限不足、路径错误和换行符格式问题,可通过chmod、检查路径及dos2unix工具解决。规范书写与权限设置是关键。

在Linux中运行脚本,主要是通过执行.sh文件来完成自动化任务。要成功运行一个Shell脚本,需要确保文件有可执行权限,并使用正确的命令调用它。下面介绍几种常用的执行方式和注意事项。
1. 给脚本添加执行权限
在运行.sh文件之前,必须确保该文件具有执行权限。如果没有权限,系统会提示“Permission denied”。
使用chmod命令为脚本添加执行权限:
- chmod +x script.sh —— 给所有用户添加执行权限
- chmod u+x script.sh —— 仅给文件所有者添加执行权限
2. 执行脚本的几种方法
添加权限后,可以通过以下几种方式运行脚本:
方法一:使用路径执行(推荐)
- ./script.sh —— 当前目录下的脚本
- /home/user/myscript.sh —— 使用绝对路径执行
注意:前面的./不能省略,否则系统可能找不到命令。
方法二:通过解释器显式调用
- sh script.sh —— 使用sh命令运行脚本
- bash script.sh —— 使用bash解释器执行
这种方式不需要执行权限,但建议仍保持权限设置规范。
方法三:使用source或.命令在当前shell中执行
- source script.sh
- . script.sh
这种执行方式不会开启子shell,脚本中的变量修改会影响当前shell环境,适合用于配置文件加载。
3. 脚本首行:shebang的作用
一个规范的Shell脚本第一行通常是:
#!/bin/bash
或
#!/bin/sh
这行叫shebang,用来指定解释器。系统会根据这一行决定用哪个程序来运行脚本。如果没写,就要手动指定解释器(如bash script.sh)。
4. 常见问题与解决
问题1:Permission denied
解决:运行chmod +x script.sh添加执行权限。
问题2:No such file or directory
可能原因:脚本路径写错,或换行符是Windows格式(CRLF)。
解决:使用dos2unix script.sh转换格式。
问题3:Command not found
检查shebang是否正确,或者是否把bash写成了其他错误名称。
基本上就这些。只要权限正确、路径无误、解释器明确,Linux运行.sh脚本并不复杂。关键是养成规范写脚本的习惯。










