设为首页 加入收藏

TOP

bash中while,until,case,select语句结构(三)
2018-03-28 09:05:58 】 浏览:422
Tags:bash while until case select 语句 结构
t a number: " INPTNUM
  if [ $INPTNUM -gt $NUMBER ] ; then
    echo "Too big"
  elif [ $INPTNUM -lt $NUMBER ] ; then
    echo "Too small"
  else
    echo "Yes! you WIN. That's $NUMBER."
#在输入数字和随机数字匹配的时候,就退出
    break
  fi
done



#!/bin/bash
#
NUMBER=$[RANDOM%100+1]
until false ; do
  read -p "Input a number: " INPTNUM
  if [ $INPTNUM -gt $NUMBER ] ; then
    echo "Too big"
  elif [ $INPTNUM -lt $NUMBER ] ; then
    echo "Too small"
  else
    echo "Yes! you WIN. That's $NUMBER."
    break
  fi
done


注意:在此类循环结构中,需要适当的添加continue或break控制语句,以使得无限循环可控;

   2.实现遍历功能的while和until循环结构:
       while read LINES ; do
           COMMANDS
       done < /PATH/FROM/SOMEFILE

       until ! read LINES ; do
           COMMANDS
       done < /PATH/FROM/SOMEFILE

注意:在做遍历循环时,建议使用for;


select循环结构
   select: select NAME [in WORDS ... ;] do COMMANDS; done
       Select words from a list and execute commands.

   select循环也是一种遍历列表的方式创建一个可视化菜单,每个列表项都有一个数字编号与之对应,供用户选择使用;而用户只需要选择其编号即可;

   select是一种默认无限循环结构,因此,必须在循环体中为select提供退出循环的条件,通常可以使用break或exit命令实现;

   通常情况下,select循环会和case一起使用,已进行合理的取值判断;

   在脚本中实现的格式:
       select VAR_NAME in LIST ; do
           COMMANDS
       done

写一个脚本,显示以/bin/bash为默认shell的用户的ID信息;


#!/bin/bash
#
#挑选用户名或者quit退出按钮
select I in $(awk -F : '/\/bin\/bash$/{print $1}' /etc/passwd) quit ; do
  case $I in
  quit)
    exit
    ;;
  *)
    echo "The UID of $I is $(id -u $I)"
    ;;
  esac
done


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇bash脚本中 if 语句 和 for 语句.. 下一篇Python初认识

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目