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