Linux-基于韩顺平教程-day05shell脚本

shell脚本

  1. 什么是shell脚本

  2. shell脚本的格式要求

    • 脚本以#!/bin/bash开头
    • 脚本需要具备执行权
  3. shell脚本的执行

    • hello world案例
    • 脚本的运行方式
      • 输入脚本的绝对路径或者相对路径方式(需要执行权限)
      • sh 脚本方式(可以没有执行权限)
  4. shell脚本的注释

    • 单行注释:#
    • 多行注释::<<! !
  5. shell脚本的变量

    • 变量的分类
      • 系统变量
        • 取用 H O M E 和 HOME和 HOMEPATH等
        • 通过:set可以输出全部系统变量
        • 设置环境变量
          • export 变量名=变量值
          • source 配置文件
      • 自定义变量
        • 定义变量:变量名=值
        • 使用$取用
        • 撤销变量:unset 变量
        • 静态变量:readonly 变量,(注意不能:unset)
      • 变量的定义规则
        • 变量由字母,数字和下划线组成,不能以数字开头
        • 等号两边不能有空格
        • 变量名一般习惯大写
      • 将命令的返回值赋值给变量
        • A=运算
        • A=$(运算)
      • 案例
        • 定义变量A
        • 撤销变量A
        • 声明静态变量B,验证unset
        • 定义全局变量
  6. 位置参数变量

    • n : n 为 参 数 的 位 置 , 从 0 开 始 , 0 为 自 身 , 1 − 9 为 第 1 − 9 个 参 数 , 10 个 以 上 使 用 n:n为参数的位置,从0开始,0为自身,1-9为第1-9个参数,10个以上使用 nn00191910使{n}取用
    • $*:把所参数当作一个整体来看
    • $@:把所参数当作一个整体来看,不过把参数区分来看
    • $#:参数的个数
  7. 预定义变量

    • $$:当前进程的进程号
    • $!:后台运行的最后一个进程的进程号
    • $?:最后一次执行的返回状态,为0执行正确,非0不正确
  8. 运算符

    • $((运算式)) 、 $[运算式] 、 expr m + n (中间要有空格,如果希望expr计算结果赋值给变量,需要使用``)

    • +、-、/、\ *

    • 案例:求出命令行给出的两个参数的和

  9. 条件判断

    • 语法:[ condition ] (中间要有空格,非空为true)
    • 常用条件判断
      • 字符串使用=
      • 数字比较
        • -lt
        • -le
        • -eq
        • -gt
        • -ge
      • 权限判断
        • -r
        • -w
        • -x
      • 文件类型判断
        • -f:文件存在且为常规文件
        • -e:文件存在
        • -d:文件存在并为目录
  10. if流程控制

    • 语法:

      if[ 条件判断 ] 
      
      then 
      
      	代码
      
      elif[ 条件判断 ]
      
      then
      
      	代码	
      
      fi
      
    • 案例

      • 判断ok等于ok
      • 判断23是否大于22
      • 判断/root/a.txt是否存在
      • 输出成绩,60及格
  11. case流程 控制

    • 语法

      case $变量名 in
      "值1")
      	代码
      ;;
      "值2")
      	代码
      ;;
      *)
      	匹配失败代码
      ;;
      esac
      
  12. for流程循环

    • 语法1

      for 变量 in 值1 值2 值3
      do 
      	代码块
      done
      
    • 语法2

      for((初始值;循环控制条件;变量变化))
      do
      	代码块
      done
      
  13. while循环

    • 语法(while和[]之间有空格,[ ]有空格)

      while [  ]
      do
      	程序
      done
      
  14. read读取控制台输入的内容

    • read [选项] [参数]
      • -p:提示符
      • -t:等待时间,秒
      • 参数:指定去读值的变量名
  15. 系统函数

    • basename基本使用
      • basename xxxx.txt. .txt
    • dirname基本使用
      • dirname xxxxx.txt
  16. 自定义函数

    • 语法

      定义:
      function  funname(){
      	action
      	return 
      }
      调用:
      funname 值...
      
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

信电

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值