插件窝 干货文章 如何在Linux系统中执行.sh文件?

如何在Linux系统中执行.sh文件?

bash 脚本 script 执行 859    来源:    2025-04-09

在Linux系统中执行.sh(Shell脚本)文件有多种方法,以下是详细步骤和注意事项:


方法1:直接使用解释器执行

bash script.sh

sh script.sh
  • 适用场景:无需脚本有可执行权限,直接通过指定解释器(如bashshzsh等)运行。
  • 注意:不同解释器可能支持不同的语法特性(如bashsh功能更丰富)。

方法2:赋予可执行权限后执行

  1. 添加可执行权限bash chmod +x script.sh
  2. 执行脚本
    • 相对路径(需在脚本所在目录): bash ./script.sh
    • 绝对路径bash /path/to/script.sh

- 关键点: - 必须使用./或绝对路径,否则系统会在$PATH环境变量中查找(通常找不到当前目录的脚本)。 - 如果脚本首行包含Shebang(如#!/bin/bash),系统会自动使用指定解释器执行。


方法3:通过source或.执行

source script.sh

. script.sh
  • 特点
    • 脚本会在当前Shell环境中运行(而非子Shell),脚本中的变量和函数会直接影响当前终端。
    • 常用于加载环境变量或函数库(如~/.bashrc)。

常见问题解决

  1. 权限不足错误

    -bash: ./script.sh: Permission denied
    

    解决:运行chmod +x script.sh

  2. 命令未找到错误

    bash: ./script.sh: No such file or directory
    

    可能原因

    • 文件路径错误(检查拼写和路径)。
    • 文件是Windows格式(换行符为\r\n),需转换为Unix格式: bash dos2unix script.sh # 或运行 sed -i 's/\r$//' script.sh
  3. Shebang问题

    • 如果脚本首行是#!/bin/bash但系统无bash,可改为#!/bin/sh或安装对应解释器。

最佳实践

  1. 调试脚本:添加-x参数查看执行过程: bash bash -x script.sh
  2. 检查语法(不实际执行): bash bash -n script.sh
  3. 安全提示:不要随意执行来源不明的脚本,避免提权风险。

通过以上方法,你可以灵活地在Linux系统中运行.sh脚本。根据需求选择合适的方式即可!