LinuxC高级_day4

LinuxC高级_day4

【1】结构性语句

  1. if..then..fi
    1)基本结构
     if 表达式
     then
        命令表
     fi

2)分层结构

     if 表达式
     then
        命令表1
     else
        命令表2
     fi

3)嵌套结构

   if 表达式
   then
      命令表
   else
      if 表达式
      then
         命令表
      fi
   fi

4)

   if [ 表达式1 ]
   then
      命令表1
   elif [ 表达式2 ]
   then 
      命令表2
   elif [ 表达式3 ]
   then 
      命令表3
   fi

eg: read num

#if test $num -eq 5
if [ $num -eq 5 ]         
then
    echo "$num=5"
else
    echo "$num not 5"
fi

[练习]
1. 学生成绩分级
1)如果成绩大于100或者小于0就退出
exit
2)90-100 - A
80-90 - B
70-80 - C
60-70 - D
其他 - E
在这里插入图片描述
2. 判断文件类型
在这里插入图片描述
3. 逻辑运算符
1)&& 逻辑与
[ 表达式1 ] && [ 表达式2 ]
[ 表达式1 -a 表达式2 ]
2) || 逻辑或
[ 表达式1 ] || [ 表达式2 ]
[ 表达式1 -o 表达式2 ]
3) 逻辑非!
[ !表达式1 ]

  1. case..esac
   case 变量 in
   模式1|模式3)
      命令表1
      ;;
   模式2)
      命令表2
      ;;
   模式n)
      命令表n
      ;;
   esac

[练习] 学生成绩分级
90 100 A
60 70 80 B
其他 不及格

  1. for..do..done
   for 变量 in 单词表
   do
   		命令表
   done
   1) for i in 1 2 3 4 5  #i从单词表依次取值
      do
      done
   2) for i in {1..10}
      do
      done
   3) for i  #从命令行取值
      do 
      done
   4) for ((i=0;i<100;i++)) do done

[练习] 统计目录下文件的个数
ls -l|grep “^-”|wc -l

  1. while..do.done
    格式
   while 命令或者表达式
   do
     命令表
   done

eg:打印1-5

 n=1
 while [ $n -le 5 ]
 do
     echo "n:$n"
     ((n++))
 done       
  1. until..do..done
格式
until 命令表达式
do
done
 n=1
 until [ $n -gt 5 ]
 do
     echo "n:$n"
     ((n++))
 done 
  1. 循环控制 break continue
    break 结束本次循环
    break n #break 2 能够跳出两层
    continue 结束本次循环进入下一次循环
    continue n

[练习] 1.用冒泡排序实现10个数字从小到大排序
读入数字的方式随意,可以使用read 或者命令变量 或者写死一个数组
read -a arr
arr=(12 17 523 99 100 66 34)
2. 判断用户是否存在
user_name=(www baidu com root linux baidu)
输入一个用户名baidu
3. 实时时钟
4. 十进制转二进制 /2 >>
int year=2020
month=7
day=30
hour=23
min=59
sec=55

   for(;;)
   {
   		sec++
   		if sec == 60
   		min++
   		sec=0

   		if min == 60
   		hour++
   		min=0

   		if hour == 24
   		day++
   		hour=0

   		if day 31
   		   1 3 5 7 8 12 month++
   		if day 30
   		   4 6 9 10 11  month++
   		if 闰年
   		    28  month++
   		   平年
   		    29 month++
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值