📜  特殊 bash 变量 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:27:06.394000             🧑  作者: Mango

特殊 Bash 变量 - Shell-Bash

在 Bash 脚本中,有一些特殊的变量称为环境变量,它们用于存储 Bash 环境中的一些信息。这些变量通常以大写字母表示,下面是一些常见的特殊 Bash 变量:

  1. $0 - 当前脚本的名称,也就是执行脚本时所输入的名称。例如,./myscript.sh,$0 的值就是 "myscript.sh"。示例代码:
echo "当前脚本的名称为: $0"
  1. $1, $2, ... - 脚本参数列表中的第 1、2、... 个参数。例如,./myscript.sh arg1 arg2,$1 的值是 "arg1",$2 的值是 "arg2"。示例代码:
echo "第一个参数为: $1"
echo "第二个参数为: $2"
  1. $# - 脚本参数的个数。示例代码:
echo "一共有 $# 个参数"
  1. $@ - 脚本参数列表的所有参数。示例代码:
for arg in "$@"
do
    echo "$arg"
done
  1. $? - 最后一个命令的退出状态。如果命令执行成功,则其值为 0;否则其值为非 0。示例代码:
ls file.txt
echo "上个命令的退出状态为: $?"
  1. $$ - 当前进程的进程号。示例代码:
echo "当前进程的进程号为: $$"
  1. $! - 后台运行的最后一个进程的进程号。示例代码:
sleep 10 &
echo "后台进程的进程号为: $!"
  1. $IFS - 输入字段分隔符(Input Field Separator),用于分割输入的参数列表。默认情况下,IFS 是包含空格、制表符和换行符的。示例代码:
IFS=","
echo "1,2,3" | while read a b c; do
    echo "a=$a, b=$b, c=$c"
done

以上是常见的一些特殊 Bash 变量,当然还有其他更多变量,如 $PWD、$HOME、$LANG、$USER 等。可以通过 man bash 命令查看完整的列表。