本文共 1536 字,大约阅读时间需要 5 分钟。
首先,大家如果看到有什么不懂的地方,欢迎吐槽!!!
我会在当天或者第二天及时回复,并且改进~~一、变量
环境变量、位置变量、预定义变量1、环境变量
env #查看环境变量
2、位置变量
vi location.sh#!/bin/bashSUM=`expr $1 + $2`echo "$1 + $2 = $SUM"./location 12 34 #则12为第一个位置变量赋值为$1,32为第二个为$2。location为预定义变量
3、预定义变量
$# #表示命令行中位置参数的个数$* #表示所有位置参数的内容$? #表示执行后的返回状态,0为正常$0 #表示当前执行的脚本或程序名称vi yu.sh#!/bin/bashname=bak-`date +%y%m%d`.tar.gztar zcf $name $* & >/dev/nullecho "execute $0 script" echo "complete $# object"echo "content is $*"
二、条件测试操作
1、文件测试-d #判断是否为directory [ -d /etc ] && echo "This is a directory"-e #判断是否exist [ -e /var/log/messages ] && echo "exist"-f #判断是否为file [ -f /etc/passwd ] && echo "This is a file"-r #判断是否有read [ -r read ] && echo "premission is a read " -w #判断是否有write [ -w write ] && echo "premission is a write"-x #判断是否有execute [ -x execute ] && echp "premission is a execute"-l #判断是否为link-b #判断是否为black [ -b /dev/sr0 ] && echo "This is a block"-c #判断是否为chatset [ -c /dev/vcsa ] && echo "This is a charset"
2、整数值比较
-eq #1等于2-ne #1不等于2-gt #1大于2-lt #1小于2-ge #1大于或等于2-le #1小于或等于2user=`who | wc -l` #$user为3[ $user -lt 4 ] && echo yes
3、字符串比较
= #第一个字符串等于第二个字符串!= #第一个字符串不等于第二个字符串-z #检查字符串是否为空,对于未定义或赋予空值的变量视为空串[ $LANG = en_US.UTF-8 ] && echo yes || echo no
4、逻辑测试
&& #"而且",当前面和后面两个条件都成立时,整个测试命令的返回值才为0|| #"逻辑或",只要前面和后面两个条件中有一个成立时,整个测试命令的返回值即为0! #"逻辑否",只有当指定的条件不成立时,整个测试命令的返回值才为0[ $LANG != zh_CN.UTF-8 ] && [ $user != 100 ] && echo yes ##$user=3[ $LANG != zh_CN.UTF-8 ] || [ $user != 3 ] && echo yes
转载地址:http://usoxa.baihongyu.com/