【Linux】【Shell解释器使用小结】

  • 定义:一种终端解释器,可以作为用户与操作系统内部通信的媒介,支持变量、参数、循环、分支等功能特性
  • Shell脚本命令的工作方式:
    • 交互式(interactive):用户输入一条指令就立即执行;// 例如,在命令行窗口输入  pwd 命令,该命令就被执行并显示当前绝对路径;
    • 批处理式(batch):用户事先编写一个Shell脚本,Shell脚本会一次性执行脚本中诸多命令  // Shell脚本文件一般以.sh 为后缀名,以区别其它普通文件;
  • Shell脚本文件主要包括以下三个部分:
    • 第一行脚本声明,告诉系统使用哪种Shell解释器执行该脚本
    • 第二行脚本注释,对脚本的介绍
    • 后面是可执行语句
  • Shell脚本运行示例(123.sh 是脚本名称,左边是脚本内容 右边在终端执行):
  • Shell脚本进阶知识:
    1. 接收参数: $0表示脚本名称,$*所有参数值, $?显示上一次命令执行的返回值, $k 对应第k个位置上的参数值; 参数是在执行脚本的时候给出 如 "bash 123.sh  one two three"  该123.sh脚本执行时会接收到3个参数,参数值分别为 one two three 在脚本中可以通过"$k"使用相应的参数值;
    2. 测试语句: 格式 [ 条件表达式 ]  注意条件表达式左右两边各应有1个空格:包括文件测试语句,逻辑测试语句,整数值比较语句,文件测试语句 例如:

3. 流程控制语句(语法)

        • if语句: for语句:for 变量名 in 取值列表 do 命令序列 done
          • 单分支: if 条件测试语句 then 命令序列  fi
          • 双分支: if 条件测试操作 then 命令序列1 else 命令序列2 fi
          • 多分支: if 条件测试操作1 then 命令序列1 elif 条件测试操作2 命令序列2 else 命令序列3 fi
        • while语句: while 条件测试操作 do 命令序列 done
        • case语句: case 变量值 in 模式1 命令序列1) ;; 模式2) 命令序列2 ;; ……  *) 默认命令序列 esac
  • 计划任务服务程序:
    • 可以用at命令在指定日期执行某些指令  如在命令行输入“at 20:00 11/14/2018”, 然后再后面的语句输入“python 123.py”,再按“Ctrl+D”键结束编写计划任务; 系统会自动在2018年11月14日20:00 执行“python 123.py”命令
  • 参考书籍 《Linux就该这么学》
  • 转载请注明出处

 

posted @ 2018-11-14 19:05  dreamer123  阅读(2138)  评论(0编辑  收藏  举报