课时3 使用变量
一、变量基本操作
定义及赋值:变量名=变量值
引用变量:$变量名 或 ${变量名}
二、双引号/单引号/反撇号
双引号
|
允许引用、\转义
|
单引号
|
禁止引用、\转义
|
反撇号 或者
$()
|
以命令输出进行替换
|
示例1:[接上一节的示例]单引号和双引号
(双引号一般可省略)
[
root@localhost ~]# echo "$Title Group."
BeiDaQingNiao
Group.
[
root@localhost ~]# echo '
$Title Group.'
$Title Group.
示例2:反撇号或
$()
[
root@localhost ~]# uname -r
2.6.18-194.e5
[
root@localhost ~]# Ver=`uname -r`
[
root@localhost ~]# echo $Ver
2.6.18-194.e5
三、常见的环境变量
定义:用来记录/设置运行参数
系统赋值
|
USER、LOGNAME、HOME、SHELL、......
|
用户操作
|
PATH、LANG、CLASSPATH、......
|
HOSTNAME=localhost.benet.com
SHELL=/bin/bash
HOME=/root
LOGNAME=root
......
四、其他特殊变量
由系统或脚本操控,不可直接赋值,如下所示:
$?
|
前一条命令的状态值,0为正常,非0为异常
|
$0
|
脚本自身的程序名
|
$1-$9
| 第1-第9个位置参数 |
$*
|
命令行的所有位置参数的内容
|
$#
|
命令行的位置参数个数
|
示例1:$?的使用
[
root@localhost ~]# mkdir /mulua
[
root@localhost ~]# echo $?
0
[
root@localhost ~]# mkdir /mulua/a
mkdir: 无法创建目录”/mulu/a“:没有那个文件或目录
[
root@localhost ~]# echo $?
1
示例2:
$0、
$1-$9、
$*、
$#的使用
[
root@localhost ~]# cat test.sh
@!/bin/bash
echo "本程序名:
$0"
echo "执行时一共输入
$# 个位置参数"
echo "其中第一个参数是:
$1"
echo "所有的参数如下:
$*"
[
root@localhost ~]# ./test.sh Hello Everybody!
本程序名:
./test.sh
执行时一共输入 2 个位置参数
其中第一个参数是:Hello
所有的参数如下:
Hello Everybody!