# 1.if分支结构 :<<EOF 1)if单分支结构 if [ 条件 ] then 满足条件需要执行的代码 fi 2)if双分支结构 if [ 条件 ] then 满足条件需要执行的代码 else 不满足条件需要执行的代码 fi 3)if多分支结构 if [ 条件1 ] then 代码段1 elif [ 条件2 ] then 代码段2 elif [ 条件3 ] then 代码段3 ... else 代码段N fi EOF # 练习1:写代码判断指定文件夹是否是空的文件夹 path=~/code/abc count=`ls $path | wc -l` echo $count if [ $count -eq 0 ] then echo "${path} 对应的文件夹是空的" else echo "${path} 对应的文件夹不是空的" fi # 练习2: 提示用户输入一个百分之的成绩,然后输出成绩对应的等级(A(>=90)\B[80, 90)\C[60, 80)\D(<60)) # echo -n "请输入一个分数(满分100分):" # read score score=87 if [ $score -ge 90 ] then echo A elif [ $score -ge 80 ] then echo B elif [ $score -ge 60 ] then echo C else echo D fi echo ------------------------------------------------------------------------- # 2. for循环 :<<EOF for 变量 in 容器 do 循环体 done EOF # 1)遍历数组 names=(小明 张三 李四 王五 小红) for x in ${names[*]} do echo $x done echo ---------------------------------------------------------------------------- # 2)遍历多个值 # 多个值: 指的是多个数据直接用空格或者换行符隔开 for x in 10 20 你好 xiaoming do echo $x done echo ---------------------------------------------------------------------------- for x in `ls` do echo "x:${x}" done echo ---------------------------------------------------------------------------- # 3. while循环 :<<EOF while 条件语句 do 循环体 done EOF # 1)遍历字符串 # 字符串:索引:1 str1=hello len1=${#str1} x=0 while [ $x -lt $len1 ] do echo ${str1:${x}:1} x=`expr $x + 1` done echo ------------------------------------------------- # 练习:统计当前目录中文件的数量 result=`ls -lh | awk '{print $1}'` count=0 for x in $result do if [ ${x:0:1} = - ] then count=`expr $count + 1` fi done echo "文件数量:$count"
08.shell基础语法4
本节13字2025-03-13 18:39:38