一、用户自定义变量
1.定义新的变量
[root@localhost ~]#变量名=变量值
注意:等号两边没有空格!
2.查看和引用变量的值
[root@localhost ~]#echo $变量名
当变量名称容易和紧跟其后的其他字符相混淆时,需要添加“{}”将变量名包围起来,否则
就无法确定正确的变量名称。
3.为变量赋值的常用方法
(1)双引号("")
[root@localhost ~]#变量名="变量值"
使用双引号时,允许在双引号的范围内使用$符号来引用其他变量的值。
(2)单引号('')
[root@localhost ~]#变量名='变量值'
使用单引号时,将不允许在单引号范围内引用其他变量的值。
(3)反撇号(``)
[root@localhost ~]#变量名=`变量值`
使用反撇号时,允许将执行特定命令的输出结果赋给变量。
(4)read命令
read命令可以从终端读取输入,实现交互过程。read从标准输入读入一行内容,并以空格为
分隔符,将读入的各字段分别赋给指定的变量。若只指定一个变量,则将整行内容赋给该变量。
[root@localhost ~]#read 变量名
read命令可以结合“-p”选项来设置提示信息,用于告诉用户应该输入的内容,使交互操作
界面更加易用。
[root@localhost ~]#read
-p "提示信息" 变量名
4.设置变量作用范围
对于用户自定义的变量,默认情况下只能在当前Shell环境下使用,称为局部变量。可以使用
export命令将指定的变量设置为全局变量。
[root@localhost ~]#export 变量名
export命令还可以在输出变量的同时对指定变量赋值。
[root@localhost ~]#export 变量名=变量值
5.清除自定义变量
[root@localhost ~]#unset 变量名
6.数值变量的计算
Bash只适合进行简单的 整数运算,可使用expr命令。
[root@localhost ~]#expr $变量名1 运算符 $变量名2 运算符 $变量名3 ……
常用的几种运算符如下:
+:加法运算。
-:减法运算。
\*:乘法运算。
/:除法运算。
%:取余运算。
二、环境变量
环境变量是指用户登录后系统预先设定好的一类Shell变量,其功能是设置用户的Shell环境,
环境变量的值一般由Linux系统自行维护,会随着用户状态的改变而改变,用户可以通过读取环境
变量来了解自己的当前状态。
1.查看环境变量
通过不带任何参数的set命令,可以查看系统中所有的Shell变量,包括环境变量、用户自定
义变量等。
[root@localhost ~]#set
常用的环境变量如下:
$USER:表示当前用户的登录名称。
$LOGNAME:同USER,表示当前用户的登录名称。
$UID:表示当前用户的UID号。
$SHELL:表示用户使用的登录Shell。
$HOME:表示用户的宿主目录。
$PWD:表示用户当前的工作目录。
$PATH:表示当前用户的命令搜索路径。
$PS1:表示当前用户的主提示符。
$PS2:表示当前用户的 辅助提示符。
2.环境变量配置文件
全局配置文件,对所有用户起作用:/etc/profile
用户配置文件,允许覆盖全局配置,对某用户起作用:~/.bash_profile
三、位置变量
在执行Shell命令操作时,除了输入的第一个字段(命令名或脚本程序名)以外,其余的字符串
参数按照从左到右的顺序依次赋值给位置变量。
需要引用这些位置变量的值时,采用“$n”的格式, 其中n是参数的位置序号(从1-9)。
四、预定义变量
预定义变量是由Bash程序预先定义好的一些特殊变量,用户只能使用,而不能创建新的预定义
变量。
常用的预定义变量如下:
$#:表示命令行中位置参数的数量。
$*:表示所有位置参数的内容。
$?:表示命令执行后返回的状态,用于检查上一个命令执行的是否正确。命令退出状态为0表示
命令执行正确,任何非0值的表示命令执行错误。
$$:表示当前进程的进程号。
$!:表示后台运行的最后一个进程的进程号。
$0:表示当前执行的进程的进程名。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16566331/viewspace-670071/ ,如需转载,请注明出处,否则将追究法律责任。