on it road.com
显示变量值
要显示 shell 变量的值,请使用 echo 命令并在变量名前放置一个 $。
我们还可以使用单个 echo 命令在同一行中显示多个变量。
例如 :
$ var1=18 $ var2="Till I Die" $ echo $var1 $var2 18 Till I Die
如何在 Shell 脚本中创建变量
要在 shell 中设置变量,请使用以下语法:
var=value
不要在 = 符号周围放置空格。
如果值包含空格或者特殊字符,请使用单引号或者双引号;例如:
$ var="varibale with spaces"
变量只是某个值的占位符。
值可以改变;但是,变量名称将始终相同。
Shell 变量按照惯例大写。
shell 维护着两个变量列表:
- 当前shell的本地变量
- 针对所有 shell 的全局变量(环境变量)。
使用 set 和 env 命令分别显示本地和环境变量。
以下是 set 和 env 语句的部分输出。
许多变量同时出现在本地和环境变量列表中。
$ set BASH=/bin/bash HISTFILE=/home/user/.bash_history HISTFILESIZE=100000 HISTSIZE=100000 HOME=/home/user HOSTNAME=geek.mylabserver.com ....
$ env TERM=xterm-256color SHELL=/bin/bash USER=user LOGNAME=user ....
变量的命名约定
Shell 变量按照惯例大写。
变量名可以包含大写或者小写字母、数字和下划线。
变量名不能以数字开头。
一些引导脚本显示大小写混合的变量名称。
请务必使用有意义的变量名称。
特殊 Shell 变量
用户可以使用多个 shell 变量。
shell 在进程创建或者终止时设置变量值。
1. 进程识别
$$ shell 变量可供用户使用。
它包含当前进程 ID 号。
使用此变量创建不太可能已经存在的文件名。
$ echo $$ 10916
如果我们更改或者生成一个新的 shell,该变量的值也会更改。
例如:
$ echo $$ 1289 $sh $ echo $$ 17716 $ exit $ echo $$ 1289
2.退出状态
退出状态是最后执行的命令(程序、脚本或者 shell 语句)的整数值。
变量? (问号)提供最近前台进程的退出状态。
它用于:
- 确定进程是否成功运行。
- 设置 ?如果进程成功,则变量为 0,如果不成功,则变量为非零值。
将此视为将成功等同于发生零错误,将失败等同于发生一个或者多个错误或者命令无法执行请求的操作。
$ grep root /etc/passwd root:x:0:0:root:/root:/bin/bash $ echo $? 0
$ grep rot /etc/passwd $ echo $? 1
3. 后台进程识别
shell 允许我们使用 & 运算符在后台运行命令。
要查找上次启动的后台作业的 PID,echo变量 !。
$ sleep 10 & [1] 1609 $ echo $! 1609
日期:2020-09-17 00:14:56 来源:oir作者:oir