Shell特殊变量

Shell特殊变量教程

运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用 $n 的形式来接收,同时 Shell 还为我们提供了一些特殊的变量。

Shell内置特殊变量

变量 含义
$0 当前脚本的文件名。
$n(n≥1) 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。

Shell内置特殊变量使用

说明

我们可以在脚本中,使用内置的特殊变量。

案例

我们首先,打开一个 Shell,并新建一个 Shell 脚本,具体代码如下:

#!/bin/bash echo "Process ID: $$" echo "File Name: $0" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#"

现在,我们运行该脚本,并传递参数,具体命令如下:

sh hellohaicoder.sh haicoder www.haicoder.net 109

运行后,终端输出如下:

21_Shell脚本特殊参数.png

我们看到,我们在 Shell 脚本中,使用了特殊变量获取了对应的值。

Shell特殊变量总结

运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用 $n 的形式来接收,同时 Shell 还为我们提供了一些特殊的变量。