shell脚本入门

一个简单的shell脚本

一个脚本的组成:脚本声明、注释信息(可省略)、Linux命令。下面是一个较简单的shell脚本。我们使用 vim example.sh 进入编写。

#!/bin/bash
#example
pwd
ls -al

使用 bash example.sh 命令执行结果如下:

接受用户参数

#!/bin/bash
echo "当前脚本名称为$0"
echo "总共有$#个参数,分别是$*"
echo "第一个参数为$1,第五个参数为$5"

编写完上面的脚本后,我们传入参数并执行脚本

sh example.sh one two three four five six

one~six是我们传入的参数。$0对应脚本程序的名称;$#对应参数的个数;$*对应所有参数值;$?对应上一次执行命令的返回值;$1~$6对应传入的各个参数one~six。上述脚本的执行结果如下。

判断用户的参数

条件测试语句的执行格式:[ 条件表达式 ] 。注意:两边均有一个空格。

条件测试语句可以分为4种。文件测试语句、逻辑测试语句、整数值测试语句、字串符比较语句。

文件测试语句

[ -d /etc/fstab ]
#判断文件/etc/fstab是否存在
echo $?
显示上一条执行命令的返回值。

若返回值为0,代表存在。若返回值不为0,则代表不存在。

逻辑测试语句

与 "&&" ; 或 "||" ; 非 "!"。类似于c++中的与、或、非。

&&:当前面的命令执行成功后才会执行后面的命令。
||:当前面的命令执行失败后才会执行后面的命令。
!:将条件测试语句的判断结果取反。

[ -e /dev/cdrom ] && echo "Exist"
#当/dev/cdrom存在时才会输出Exist
[ -e /dev/cdrom || echo "do not exist"
#当/dev/cdrom不存在时才会输出do not exist

这三个符号我们可以多次嵌套使用。例如

[ ! $USER =root ] && echo "user" || echo "root"
#若用户为root则输出root,否则输出user。 

整数值比较语句

字串符比较语句

LANG为语系环境变量。一般为 “en_US.UTF-8”。

[ $LANG != "en.US" ] && echo "Not en.US"

显然,输出结果肯定为 Not en.US。

参考资料: 《Linux就该这么学》人民邮电出版社 刘遄 著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值