赞
踩
if [ true ]; then
echo "有值"
else
echo "没有值"
fi
shell=$1
xshell=$2
if [ ${shell} ];then
echo "${shell} ${xshell}"
else
echo "我走了"
fi
a=$1
b=$2
[ -z $a ] && echo "please \$1 number1" && exit 1
[ -z $b ] && echo "please \$2 number2" && exit 2
[ ! $# -eq 2 ] && echo "--please num1 num2" && exit 3
# $#传递到脚本的参数个数
# -eq相当于=, -ne相当于不等于, -ge >= , -gt >, -le <=, -lt <
echo "$a + $b = $(($a+$b))"
echo "$a - $b = $(($a - $b))"
echo "$a * $b = $(($a*$b))"
echo "$a / $b = $(($a/$b))"
if [ $a -eq $b ];then
echo "这两个参数相等"
else
echo "这两个参数不相等"
fi
for animal in dog cat bird
do
echo "There is ${animal}..."
done
read -p "Please input a num:" num
for(( i=1; i<$num; i=i+1 ))
do
sum=$(($sum+$i))
done
echo "The result of 1+2+3+...$num is:$sum"
read -p "Please input your first name:" firstname #提示用户输入,末尾的first为变量名
read -p "Please input your last name:" lastname
echo -e "/nYour full name is :$firstname $lastname" #结果由屏幕输出
echo -e "Please Input TWO numbers\n"
read -p "the first number is:" num1#提示用户输入,末尾的num1为变量名
read -p "the second number is:" num2
product=$(($num1*$num2))
sum=$(($num1+$num2))
red=$(($num1-$num2))
div=$(($num1/$num2))
echo -e "$num1 x $num2 = $product"
echo -e "$num1 + $num2 = $sum"
echo -e "$num1 - $num2 = $red"
echo -e "$num1 ÷ $num2 = $div"
关于某个文件名的文件类型判断,如 test -e filename
-e:该文件名是否存在
-f:该文件名是否存在且为文件
-d:该文件名是否存在且为目录
-b:该文件名是否存在且为块设备文件
-c:该文件名是否存在且为字符设备文件
-S:该文件名是否存在且为socket文件(大写S)
-p:该文件名是否存在且为FIFO文件
-L:该文件名是否存在且为链接文件
关于文件的权限检测,如test -r filename
-r:该文件名是否存在且具有“可读”权限
-w:该文件名是否存在且具有“可写”权限
-x:该文件名是否存在且具有“可执行”权限
-u:该文件名是否存在且具有“SUID”属性
-g:该文件名是否存在且具有“SGID”属性
-k:该文件名是否存在且具有“sticky bit”属性
-s:该文件名是否存在且为“非空白文件”(小写s)
两个文件之间的比较,如:test file1 -nt file2
-nt:newer than,判断file1是否比file2新
-ot:older than,判断file1是否比file2旧
-ef:判断file1与file2是否为同一文件,可用在判断hard link的判定上。主要意义在于判定两个文件是否指向统一个inode
关于两个整数之间的判定,如test num1 eq num2
-eq:equal,num1等于num2
-ne:not equal,num1不等于num2
-gt:greater than,num1大于num2
-lt:less than,num1小于num2
-ge:great equal,num1大于等于num2
-le:less equal,num1小于等于num2
判定字符串的数据
test -z string:判定字符串是否为0,若string为空字符串,则为true
test -n string:判定字符串是否为非零,若string为空字符串,则为false
多重条件判定,例如:test -r filename -a -x filename
-a:两个条件同时成立!例如 test -r file -a -xfile,则file同时具有 r 与 x 权限时,才回传true
-o:任何一个条件成立!例如 test -r file -o -x file,则file具有 r 或者 x 权限时,才回传true
!:反向状态!如test !-x file,当file不具有x时,回传true
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。