运用
exp
ort表明
的变量,在Shell以后运行的所有命令或程序中都能够
访问到。
(3)位置参数:
位置参数是一种在调用Shell程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,Shell取第 一个位置参数替换程序文件中的$1,第二个替换$2,依次类推。$0是一个特殊的变量,它的内容是当前这个Shell程序的文件名,所以,$0不是一个位 置参数,在显示当前所有的位置参数时是不包含
$0的。
(4)预定义变量:
预定义变量和环境变量相类似,也是在Shell一开始时就定义了的变量。所不一样
的是,用户只好
根据Shell的定义来运用
这些变量,而无法
重定义它。所有预定义变量都是由$符和另一个符号组成的,常用的Shell预定义变量有:
$# 位置参数的数目
。
$* 所有位置参数的内容。
$? 命令执行后返回的状态。
$$ 当前进程的进程号。
$! 后台运行的结尾
一个进程号。
$0 当前执行的进程名。
其中,$?用于检验
上一个命令执行能不能
正确。(在Linux中,命令退出状态为0示意
该命令正确执行,任何非0值示意
命令出错。)
$$变量最多见
的用途是用做暂存文件的名字以保证暂存文件不会重复。
(5)参数置换的变量:
Shell提供了参数置换功能以便用户能够
根据不一样
的条件来给变量赋不一样
的值。参数置换的变量有4种,这些变量通常与某一个位置参数相联系,根据指定的位置参数能不能
已经配置
类决定变量的取值,它们的语法和功能分别如下。
a. 变量=${参数-word}:假如
配置
了参数,则用参数的值置换变量的值,否则用word置换。即这种变量的值等于某一个参数的值,假如
该参数没有配置
,则变量就等于word的值。
b. 变量=${参数=word}:假如
配置
了参数,则用参数的值置换变量的值,否则把变量配置
成word,然后再用word替换参数的值。留心
,位置参数无法
用于这种方式,因为在Shell程序中无法
为位置参数赋值。
c. 变量=${参数?word}:假如
配置
了参数,则用参数的值置换变量的值,否则就显示word并从Shell中退出,假如
省略了word,则显示规则
信 息。这种变量要求必须
等于某一个参数的值。假如
该参数没有配置
,就显示一个信息,然后退出,因此这种方式常用于出错指示。
d. 变量=${参数+word}:假如
配置
了参数,则用word置换变量,否则不实行
置换。
所有这4种形式中的“参数”既能够
是位置参数,也能够
是另一个变量,只是用位置参数的情况比较多。