shell脚本入门
<p></p>
一个简单的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就该这么学》人民邮电出版社 刘遄 著
本文来自博客园,作者:litecdows,作者在其他博客平台均使用此昵称!
转载请注明原文链接:https://www.cnblogs.com/litecdows/p/15864392.html