天成1 发表于 2018-8-22 10:59:48

shell编程脚本语法

  学习了两个月的Linux,记住了很多命令,知道了脚本的作用,也被脚本杀死了大概一半的脑细胞,现在脚本还不能熟练运用,感觉亏了。心疼我的脑细胞,痛恨脚本,但不得不说,脚本是一个好东西啊,用起来真的方便,但是写起来真的烧脑袋呦!下面来总结一下这周学习的脚本语法,哇,语法虽然不多也不难,但是结合起来熟练运用还有一定的难度,何况现在的脚本才几行,以后要写几行,心里没点数吗!废话少说,开始
  跳过最基础的命令行堆积的脚本,总结一下让脚本更简洁实用的语法
  首先,条件选择if语句登场
  if语句用法:常见的单分支,双分支,多分支。
  实际中能不能用到单分支语句不能心里没点数吗,直接多分支,会了多分支,单双分支自然就会了
  if 判断条件1; then
  条件为真的命令代码
  elif 判断条件2;then
  条件为真的命令代码
  elif 判断条件3;then
  条件为真的命令代码
  else
  以上条件都为假的命令代码
  举个例子:

  完毕
  条件判断:case语句
  case $1 in
  条件1)
  分支3
  ;;
  条件2)
  分支2
  ;;
  ……
  *)
  默认分支
  ;;
  esac
  case支持glob风格的通配符:
  *: 任意长度任意字符 【比如搜索文件的话 K*)匹配所有K开头的文件名】
  ?: 任意单个字符
  []:指定范围内的任意单个字符
  a|b: a或b
  举个例子:

  循环语句 for while until shift select
  作用如其名,将某代码段重复运行多次
  for循环用法
  for 变量名 in 列表;do
  循环体
  done
  执行机制:依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束
  【一般套路:变量名一般是上面定义过的变量,这里用来引用 如:$i 或者是位置变量 如:$1,$2
  列表一般都是通过调用命令结果来生成的 如 `seq 1 10` $(ls /etc) 】
  for循环还有一个特殊格式:和C语言类似
  for ((控制变量初始化;条件判断表达式;控制变量的修正表达式))
  (( i=0;    i
页: [1]
查看完整版本: shell编程脚本语法