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 &         # 后台运行(但关闭终端可能终止)

适用场景:需要长时间运行的脚本。

posted @ 2026-01-15 10:19  星光闪闪  阅读(1)  评论(0)    收藏  举报