【Shell】【学习笔记】Linux Shell脚本应用(三)

来源:互联网 发布:最小的linux 编辑:程序博客网 时间:2024/05/20 15:59
课时3 使用变量

一、变量基本操作
定义及赋值:变量名=变量值
引用变量:$变量名 或 ${变量名}

示例1:
[root@localhost ~]# Title=BeiDaQingNiao
[root@localhost ~]# echo $Title
BeiDaQingNiao

二、双引号/单引号/反撇号
双引号
允许引用、\转义
单引号
禁止引用、\转义
反撇号 或者 $()
以命令输出进行替换

示例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、......

示例1:显示当前系统中的环境变量
[root@localhost ~]# env
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!

0 0