运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用 $n
的形式来接收,同时 Shell 还为我们提供了一些特殊的变量。
变量 | 含义 |
---|---|
$0 | 当前脚本的文件名。 |
$n(n≥1) | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。 |
$# | 传递给脚本或函数的参数个数。 |
$* | 传递给脚本或函数的所有参数。 |
$@ | 传递给脚本或函数的所有参数。当被双引号" " 包含时,$@ 与 $* 稍有不同。 |
$? | 上个命令的退出状态,或函数的返回值。 |
$$ | 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。 |
我们可以在脚本中,使用内置的特殊变量。
我们首先,打开一个 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
运行后,终端输出如下:
我们看到,我们在 Shell 脚本中,使用了特殊变量获取了对应的值。
运行 Shell 脚本文件时我们可以给它传递一些参数,这些参数在脚本文件内部可以使用 $n
的形式来接收,同时 Shell 还为我们提供了一些特殊的变量。