shell 脚本基本语法
2019-03-29 15:16
169 查看
shell 脚本基本语法及简单应用
变量赋值:
aa=11 bb=22
等号两遍不得出现空格
环境变量:
当前shell环境的变量
export VARNAME=VALUE 设置环境变量
unset VARNAME 撤销变量
查看变量:
set 查看所有变量
printenv env ecport 查看当前shell中的环境变量
特殊变量:
- $? 保存上一个命令执行的返回状态 0正确 1错误
- $# 输入参数的个数
- $* 参数列表
- $@ 参数列表
- $0 执行脚本的名字
- $_ 代表上一个命令最后一个参数
- $! 代表最后指令后台命令的PID
数字运算及运算符:
- dd=$(expr $aa + $bb) // +号两侧必须有空格
- dd=$(( $aa + $bb))
- dd=$[ $aa + $bb ]
cc=$((1 && 0)) //逻辑与运算,两边都是1,结果为1 ; 否则为0
条件判断命令:
test n1 -参数 n2 //真返回0,假返回1
整数:
参数列表为
- -lt 小于
- -le 小于等于
- -gt 大于
- -ge 大于等于
- -eq 等于
- -ne 不等于
可用中括号代替test
[ 1 -lt 4 ] //表达式与中括号间有空格
字符串测试
- s 字符串非空
- s1 = s2
- s1 != s2
- -z 字符串为空
- -n 字符串长度大于0
文件测试:
- -f 存在且是普通文件
- -f 存在且是目录
- -s 存在且字节数大于0
- -r 存在且可读
- -w 存在且可写
- -x 存在且可执行
[ -f filename ] //判断文件是否为文件
其他参数:
- -a 逻辑与
- -o 逻辑或
- ! 逻辑非
控制流程:
//if 控制流程 if ls -l | grep "$1" > /dev/null if [ $# -eq 0 ] then echo "" else if [ $# -gt 1 ] then echo "" else echo "" fi //case 控制流程 case "$#" in 0) echo "" 1) echo "" *) echo "" esac //for 控制流程 for i in `seq 1 9` //生成列表 {0...100} seq 1 100 seq 2 2 100 do echo `expr $i \* 10` *乘号前加转义符 done //while 控制流程 while true i=1 sum=0 while [ $i -le 100 ] do sum=$[ $sum+$i ] i=$[ $i+1 ] done echo $sum
read 变量1 变量2
可以从键盘上读取多个变量的值
如果输入的数据不够,没有输入的为空
如果输入的数据超过,则将最后一个变量被赋予所有剩余的值
read a b
echo $[ a+a+a+b ]
shell 定义函数:
函数名() { 命令 } //或者 function 函数名() { 命令 } /例子 hello() { echo "hello world !!" } //调用时,直接调用函数名即可
shell 数组和关联数组:
//定义一个数组: array=(1 2 3 4 5 6) //或者 array[0]="test1" array[1]="test2" array[2]="test3" //打印数组: echo $ {array[0]} index=0 echo $ {{array[$index]} echo ${array[*]} //打印数组长度: echo ${#array[*]}
相关文章推荐
- linux 基础学习之五:shell脚本学习(2)——基本语法
- shell 脚本基本语法
- shell基本语法脚本一
- shell脚本的一些基本入门语法
- Linux脚本(shell)编程(二) 基本语法
- shell脚本基本语法详解
- Shell脚本的基本语法(二) 预定义特殊字符、case语句和函数调用
- shell脚本基本语法学习
- shell脚本语言基本语法学习
- shell基本语法脚本一
- Shell脚本编程(一)——基本语法
- shell 脚本基本语法
- shell脚本基本语法详解
- Linux脚本(shell)编程(二) 基本语法
- shell基本介绍 以及基本的shell脚本的语法
- Linux脚本(shell)编程(二) 基本语法
- shell脚本基本语法详解
- Linux的Shell脚本中IF流程控制语句的基本语法
- shell 脚本的基本语法
- shell 脚本基本语法