四、shell基础

xiaobater 2020-05-07

  • shell脚本为文本文件

  • 文件通常以.sh结尾

  • 第一行:指定用哪个程序编译执行
    * # ! /bin/bash
    * # ! /bin/sh

  • 注释:#

  • 变量名:以字母或下划线开头,大小写敏感

  • 变量
    * 本地变量
    * 环境变量(全局变量)
    * 大写
    * export LANG
    * 赋值
    * 等号两边不能有空格
    * 给变量赋空值,在等号后加换行符
    * 显示变量的值:echo$var 或 echo ${var}
    * 清除变量:unset var
    * 显示所有的变量:set
    * 位置参量:
    * 从命令行接受参数
    * 脚本后每个用空格隔开的变量都为字符参量
    * 参量中有空格需加引号
    * \(x表示第x个参数 * 当x大于9,要写成\){x}
    四、shell基础

  • 任何命令进行时都将返回一个退出状态

  • 查看命令:echo %?

  • shell脚本返回最后一个命令的返回码

  • 返回码:exit N
    * 0,成功
    * 0,出错

  • 数组
    * 定义:arr=(v1,v2,…)
    * 引用
    * 引用变量:\({arr[0]} * 数组个数:\){#arr[]}
    * 所有元素:${arr[
    ]}
    * 赋值:arr[0]=hah

  • 时间
    * 显示
    * date +%Y/%m/%d
    * date +%H:%M
    * 今天:date +%Y/%m/%d
    * 昨天:date --date=‘1 days ago’ +%Y/%m/%d
    * 前天:date --date=‘2 days ago’ + +%Y/%m/%d

  • 判断

四、shell基础

四、shell基础

* 判断是否为空:[var]
* if [表达式]; then 语句 elif 语句 else 语句 fi
* for var in 1 2 3 4 5 do 语句 done
* for ((i=0;i<${num};i=i+1)) do 语句 done
* while [condition] do 语句 done
* until [condition] do 语句 done
  • 从文件或命令中逐行读取
    • cat file | while read line do echo $line done
    • car ls ./*.txt | while read line do echo $line done

相关推荐