本地变量
显示变量
- $GREAT_PICTURE ="die hard"
- $echo ${GREAT_PICTURE}
- die hard
-
- $DOLLAR=99
- $echo ${DOLLAR}
- 99
-
- $LAST_FILE=ZLPSO.txt
- $echo ${LAST_FILE}
- ZLPSO.txt
$GREAT_PICTURE ="die hard"
$echo ${GREAT_PICTURE}
die hard
$DOLLAR=99
$echo ${DOLLAR}
99
$LAST_FILE=ZLPSO.txt
$echo ${LAST_FILE}
ZLPSO.txt
清除变量
- unset variable-name
- $PC=enterprise
- $echo ${PC}
- enterprise
- $unset PC
- $echp ${PC}
- $
unset variable-name
$PC=enterprise
$echo ${PC}
enterprise
$unset PC
$echp ${PC}
$
显示所有本地shell变量
使用set命令显示所有本地定义的shell变量
$set
结合变量值
将变量并排可以使变量结合在一起
- echo ${variable-name}${variable-name}
-
- $FIRST="Bruce"
- $SURNAME=Willis
- $echo ${FIRST}${SURNAME}
- Bruce Willis
echo ${variable-name}${variable-name}
$FIRST="Bruce"
$SURNAME=Willis
$echo ${FIRST}${SURNAME}
Bruce Willis
测试变量是否已经设置
有时要测试是否已设置或初始化变量。如果未设置或初始化,就可以使用另一值。此命
令格式为:
${variable:-value}
环境变量
嵌入shell变量
Brourne shell有一些预留的环境变量名,这些变量名不能用作其他用途。通常在/etc/profile中建立这些嵌入的环境变量,但也不完全是,这取决于用户自己。以下是嵌入 shell变量列表。
设置环境变量
VARIABLE-NAME= value;export VARIABLE-NAME
在两个命令之间是一个分号,也可以这样写:
VARIABLE-NAME= value
Export VARIABLE-NAME
显示和清除环境变量与本地变量一致
set命令
在$HOME.profile文件中设置环境变量时,还有另一种方法导出这些变量。使用set命令- a选项,即set -a指明所有变量直接被导出。不要在/etc/profile中使用这种方法,最好只在自己的$HOME.profile文件中使用
- $pg .profile
- # .profile
- MAIL=/usr/mail/${LOGNAME:?}
- PS1="`hostname`>"
$pg .profile
# .profile
MAIL=/usr/mail/${LOGNAME:?}
PS1="`hostname`>"
位置变量参数
在脚本中位置参数
$0 |
$1 |
&2 |
$3 |
$4 |
$5 |
$6 |
$6 |
$7 |
$8 |
$9 |
${10} |
${11} |
…… |
脚本文件名 |
第一个参数 |
第二个参数 |
…… |
|
|
|
|
|
|
|
|
|
特定变量函数
$# |
传递到脚本的参数个数 |
$* |
以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个 |
$$ |
脚本运行的当前进程ID号 |
$! |
后台运行的最后一个进程的进程ID号 |
$@ |
与$#相同,但是使用时加引号,并在引号中返回每个参数 |
$- |
显示shell使用的当前选项,与set命令功能相同 |
$? |
显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |