0
点赞
收藏
分享

微信扫一扫

shell编程case和for循环

舟海君 2022-04-19 阅读 169
linux

case  $变量   in ...esac 语句

和其它编程语言类似,Shell 也支持两种分支结构(选择结构),分别是 if else 语句和 case in 语句

当分支较多,并且判断条件比较简单时,使用 case in 语句就比较方便了
case in 示例:

使用case流控来删除用户

执行脚本:

 

*)的说明:除最后一个分支外(这个分支可以是普通分支,也可以是*)分支),其它的每个分支都必须以;;结尾,;;代表一个分支的结束,不写的话会有语法错误。最后一个分支可以写;;,也可以不写,因为无论如何,执行到 esac 都会结束整个 case in 语句。

for循环

for i in 的各种用法 :

for i in “file1” “file2” “file3”

for i in /boot/*

for i in /etc/*.conf

for i in $(seq -w 10) --》等宽的01-10

for i in {1…10} for i in $( ls )

for I in $(< file) for i in “$@” --》取所有位置参数,可简写为for i

注意:bash shell支持C式for循环

编写脚本应该注意的事项:

  1. 开头指定使用什么shell,例如:bash,ksh,csh等
  2. 脚本功能描述,使用方法,作者,版本,日期等
  3. 变量名,函数名要有实际意义,函数名以动名词形式,第二个单词首字母要大写。例如:updateConfig()
  4. 缩进统一用4个空格,不用TAB
  5. 取变量值使用大括号,如${varname}
  6. 删除文件时,如果路径有变量的,要判断变量有值,如rm -f ${abc}/* 如果变量abc没有值,则会把根目录下的文件删除
  7. 脚本中尽量不要使用cd变换目录
  8. 函数中也要有功能描述,使用依法,版本,日期等
  9. 函数的功能要单一,不要太复杂
  10. $()比` `更好
  11. 尽量不要使用多层if语句,而应该以case语句替代
  12. 如果需要执行确定次数的循环,应该用for语句替代while语句
  13. 输入的参数要有正确性判断
  14. 多加注释,方便自己或他人阅读

使用for循环创建10个用户 示例:

执行脚本:

 

再次使用for循环删除上面创建的10个用户 示例:

 

 

举报

相关推荐

0 条评论