- shell脚本为文本文件
- 文件通常以.sh结尾
- 第一行:指定用哪个程序编译执行
- # ! /bin/bash
- # ! /bin/sh
- 注释:#
- 变量名:以字母或下划线开头,大小写敏感
- 变量
- 本地变量
- 环境变量(全局变量)
- 大写
- export LANG
- 赋值
- 等号两边不能有空格
- 给变量赋空值,在等号后加换行符
- 显示变量的值:echo$var 或 echo ${var}
- 清除变量:unset var
- 显示所有的变量:set
- 位置参量:
- 从命令行接受参数
- 脚本后每个用空格隔开的变量都为字符参量
- 参量中有空格需加引号
- $x表示第x个参数
- 当x大于9,要写成${x}
- 任何命令进行时都将返回一个退出状态
- 查看命令: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
- 显示
- 判断
- 判断是否为空:[var]
if [表达式]; then 语句 elif 语句 else 语句 fifor var in 1 2 3 4 5 do 语句 donefor ((i=0;i<${num};i=i+1)) do 语句 donewhile [condition] do 语句 doneuntil [condition] do 语句 done
- 从文件或命令中逐行读取
- cat file | while read line do echo $line done
- car `ls ./*.txt` | while read line do echo $line done
相关文章: