shell循环语句练习(读书笔记)

shell循环结构有三种

  • while语句
  • until语句
  • for语句

while 语法

while 条件(test或[]其他 Linux命令都是有返回值的,命令执行成功就返回0;失败就返回一个非零值,一般情况下是1)
do
  要循环执行的语句
done
#do 和done 之间的即为循环体

while 示例

#! /bin/bash
echo "PID: $$"
echo "PPID: $PPID"
echo "UID: $UID"

sum=0
num=1

while test $num -le 100
do
  sum=$[ $sum+$num ]
  let num=$num+1
done
echo "1到100的和为: $sum"

until语法

#until 直到条件为假的时候执行
until 条件为假执行
do
  要循环执行的语句
done

until示例

#! /bin/bash
echo "PID: $$"
echo "PPID: $PPID"
echo "UID: $UID"

sum=0
num=1

until ! test $num -le 100
do
  sum=$[ $sum+$num ]
  let num=$num+1
done
echo "1到100的和为: $sum"

注意:也就是说
while test $num -le 100 等价于 until ! test $num -le 100


for语法

for var [in list]
do
  要循环执行的语句
done
# [in list] 值表,是一系列以空格分隔的值

for 示例

#! /bin/bash
for i in 1 2 3 4
do
  echo "$i"
done
# 执行结果输出 1 2 3 4 。每次循环的时候从值表中取出一个值(按顺序取),并把它赋值给变量i
# for i in 1 2 3 4 还可以写成 for i in `seq 4`  seq是shell自己的工具,该命令接收一个数字范围,并把它转换为一个列表
# for语句也可以接受字符串组成的列表

下面这个脚本是统计当前目录下非文件夹的文件个数

#! /bin/bash
count=0
for file in `ls`
do
  if ! [ -d $file ];then
    let count=$count+1
  fi
done
echo "`pwd`目录下的文件个数为$count"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值