-a 与运算,两个表达式都为 true 才返回 true。 [ $a -lt 20 -a $b -gt 100 ] 返回 false。
2. 练习:判断用户输入的用户名和密码是否为admin 123456,如果是则提示登录成功,否则提示失败
script2.sh
#!/bin/bash
read -p "请输入你的用户名和密码:" username password
if [ "$username"=="admin" -a "$password"=="123456"]
then
echo "success"
else
echo "fail"
fi
变量运算的多种写法
-eq/-ne/-gt/-ge/-lt/-le
((i++)) ((i+=1)) i=$[$i+1] let i=i+1 i=$(($i+1))
-eq :相等
-ne:不相等
-gt:大于
-ge:大于等于
-lt:小于
-le:小于等于
3.练习:判断学生的成绩,大于90-100提示优秀,80-90之间提示良好,70-80之间则提示一般,60-70之间提示及格。其他则提示不及格
vi script3.sh
#!/bin/bash
#
read -p "" score
#
if [ "$score" -ge 90 -a "$score" -le 100]
then
echo "excellent"
elif [ "$score" -ge 80 -a "$score" -lt 90]
then
③case分支练习
1.练习:输入一个序号,判断该用户选择哪款产品,A:笔记本 B:电饭煲 C:小台灯
vi script.sh
insert
#!/bin/bash
read -p "请输入产品:" pro
case $pro in
"A")
echo "笔记本"
"B")
echo "电饭煲"
"C")
echo "小台灯"
esac
:wq
sh script.sh
2.练习:请输入对客服的满意度,【0-3】不满意,【4-6】满意,【7-9】非常满意
#!/bin/bash
read -p "请做出评价" pj
case $pj in
[0-3])
echo "不满意"
[4-6])
echo "满意"
[7-9])
echo "非常满意"
esac
④循环练习:
1.练习:输出1-10之间的数
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
echo $i
done
for i in seq 1 1 10
do
echo $i
done
2.求1-100之间的和
seq start size max
开始点 间隔 结束点 如果size为1,可以省略
i=1
8. 练习:判断用户输入的目录是否存在,如果存在则统计目录下的文件个数,否则提示用户该目录不存在
test 参数 变量名---->测试文件的状态
-e 表示文件是否存在
-f 表示文件是否存在且为文件
-d 表示文件名是否存在且为目录
-r 可读
-w 可写
-x 可执行
#!/bin/bash
#提示用户输入
read -p "请输入一个目录:" dir
#进行判断
if test -d $dir
then
#统计文件的个数
filenum='ls -l $dir|wc -l'
echo "目录$dir下的文件个数为$filenum"
else
echo "目录不存在"
fi
8. 练习:判断用户输入的目录是否存在,如果存在则统计目录下的文件个数,否则提示用户该目录不存在