【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
- 【Shell】【学习笔记】Linux Shell脚本应用(三)
- 【Shell】【学习笔记】Linux Shell脚本应用(二)
- 【Shell】【学习笔记】Linux Shell脚本应用(四)
- 【Shell】【学习笔记】Linux Shell脚本应用(五)
- 【Shell】【学习笔记】Linux Shell脚本应用(六)
- 【Shell】【学习笔记】Linux Shell脚本应用(七)
- 【Shell】【学习笔记】Linux Shell脚本应用(一)
- 【Shell】【学习笔记】Linux Shell脚本应用(八)
- 【Shell】【学习笔记】Linux Shell脚本应用(九)
- 【Shell】【学习笔记】Linux Shell脚本应用(十)
- 【Shell】【学习笔记】Linux Shell脚本应用(十一)
- Linux学习笔记(三)--shell脚本中的四大变量
- Linux shell编程学习笔记(三) 脚本参数
- linux shell脚本学习笔记
- linux shell脚本学习笔记
- linux shell脚本学习笔记
- Linux Shell脚本 学习笔记
- Linux Shell 学习笔记(三)--Shell变量
- CentOS7下搭建Nginx+MariaDB+php5.4笔记(非自编译)
- VC编程用CyUsb开发USB问题
- HTML5+Canvas实现本地压缩上传图片功能
- mysql新添加用户与删除用户具体操作命令
- UIViewController 与加载其中的View之间的相互引用
- 【Shell】【学习笔记】Linux Shell脚本应用(三)
- Java 栅栏 CyclicBarrier 介绍
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- 使用commons-codec包加密字符串(MD5,SHA1,BASE64)
- 第九周项目三输出星号图(c)
- Jackson 框架,轻易转换JSON
- js中cookie使用详解
- 今天是1024,程序员节
- 多媒体通信技术