Bash编程中循环结构应该这么使用

shell 当中的循环

shell 当中循环命令存在三种, 分别是: for, while 和 until. for和while属于"当型循环", until属于"直到型循环".

注意: 在循环结构体作用域内要想修改外部作用域的变量, 需要使用 let 命令. 否则修改无效.

for 循环

for 循环有三种结构: 列表for循环, 不带列表for循环, 类C风格的for循环.

  • 列表for循环
# 1到5的循环
for v in {1..5}; do
    echo "$v"
done

# 1到100的奇数循环
for v in {1..100..2}; do
    echo "$v"
done

# 对字符串的的循环操作
for i in $(ls); do
    echo "file: $i"
done

# 对参数的循环操作
for i in $@ ; do
    echo "param: $i"
done
  • 不带列表的循环

由用户制定参数和参数个数. 与上面的 对参数的循环操作 类似.

for argument; do
    echo "$argument"
done
  • 类C风格的for循环
# 计数
for (( i = 0; i < 100; ++i )); do
    echo "$i"
done

while 循环

  • 计数控制的 while 循环
i=1
while (( i <= 100 )); do
    echo "$i"
    let i+=1 # 必须使用 let
done
  • 结束标记控制的 while 循环
read num
while [[ "$num" -ne 4 ]]; do
    if [[ "$num" -lt 4 ]]; then
        echo "num to small"
        read num
    else
        echo "num to big"
        read num
    fi
done
  • 命令行控制的的while循环
while [[ "$*" != "" ]]; do
    echo "$1"
    shift
done

until 循环

i=0

until [[ "$i" -gt 5 ]]; do
    echo "$i"
    let ++i # 必须使用 let
done

其他结构

select, bash的扩展结构, 用于交互式菜单显示. 注意书写的格式, do 最好另起一行.

  • select 带参数列表
select color in "red" "blue" "green"
do
    break
done

echo "color is: $color"
  • select 不带参数列表
select color
do
    break
done

echo "color is $color"

注意: select 不带参数列表 需要在命令行执行的时候带上参数列表. 推荐使用第一种方式.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值