linux总结-执行脚本
在 Linux 中执行 Shell 脚本(.sh 文件)有多种方法
直接指定解释器执行
bash script.sh
或
sh script.sh
如果脚本使用非 Bash 解释器(如 zsh、python),可以直接指定:
zsh script.sh
python script.py
特点:无需脚本有可执行权限,直接通过解释器(如 bash 或 sh)运行。
适用场景:快速测试脚本或脚本没有执行权限时。
赋予可执行权限后运行
chmod +x script.sh # 添加可执行权限
./script.sh # 执行脚本
必须通过 ./ 指定当前目录(避免系统从 PATH 环境变量中查找)。
脚本第一行需指定解释器,例如:
#!/bin/bash
适用场景:推荐方式,尤其适合需要重复执行的脚本。
加./是为了避免从 PATH 环境变量中查找要执行的命令(PATH 通常不包含.),如果当前目录有一个与系统命令同名的脚本(例如 ls),不加 ./ 可能会误执行系统命令,导致意外行为。
通过 source 或 . 命令执行
source script.sh
或
. script.sh
脚本会在当前 Shell 进程中运行(而非子 Shell),因此脚本中的变量、函数等会影响当前环境。
不需要脚本有可执行权限。
适用场景:需要脚本修改当前 Shell 环境(如加载环境变量)。
绝对路径或相对路径执行
/path/to/script.sh # 绝对路径
../dir/script.sh # 相对路径
前提:脚本必须有可执行权限(通过 chmod +x 添加)。
后台执行脚本
nohup ./script.sh & # 后台运行,退出终端不终止
./script.sh & # 后台运行(但关闭终端可能终止)
适用场景:需要长时间运行的脚本。

浙公网安备 33010602011771号