1、变量
使用unset命令清除变量:
unset variable-name
使用set命令显示所有本地定义的shell变量。
将变量并排可以使变量结合在一起:
echo ${name}${name2}
${variable : -value}意即如果设置了变量值,则使用它,如果未设置,则取新值
${variable : = value}
设置只读变量:
variable - name = value
readonly variable-name
传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用export命令导出。 环境变量与本地变量设置方式相同。
设置环境变量:
VARIABLE-NAME=value;
export VARIABLE-NAME
在两个命令之间是一个分号,也可以这样写:
VARIABLE-NAME=value
Export VARIABLE-NAME
使用unset命令清除环境变量
向系统命令传递参数:
可以在脚本中向系统命令传递参数。下面的例子中,在 find命令里,使用 $1参数指定查找文件名。
[root@izwz98utoaivwsitqhmohdz wsl]# cat findfile.sh
#!/bin/bash
#findfile
find / -name $1 -print
[root@izwz98utoaivwsitqhmohdz wsl]# ./findfile.sh passwd
/usr/bin/passwd
/etc/passwd
/etc/pam.d/passwd
特定shell变量:
$ # 传递到脚本的参数个数
$ * 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过 9个
$ $ 脚本运行的当前进程ID号
$ ! 后台运行的最后一个进程的进程ID号
$ @ 与$ #相同,但是使用时加引号,并在引号中返回每个参数
$ - 显示shell使用的当前选项,与set命令功能相同
$ ? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
注意,$?返回0。可以在任何命令或脚本中返回此变量以获得返回信息。基于此信息,可以在脚本中做更进一步的研究,返回0意味着成功,1为出现错误
在脚本中可以用系统命令处理输出格式,要求命令输出不显示在屏幕上。为 此可以将输出重定向到 /dev/null,即系统bin中。