目录
一、简介
本文主要介绍shell中常用的一些语法,同时附示例方便读者快速掌握。
二 、常见语法
2.1 赋值
直接赋值
a='test' # 单引号定义字符串b="test" # 双引号定义字符串c=test # 也可以不加引号,同样表示字符串d=123 #直接赋值数值
通过 $ 或者 ${} 使用,nameecho {name}big # 输出teststrbig
2.2 打印
# 直接使用echoecho 1"];thenif [ "b" ] && [ "a" -lt "{a} <= {a} < filedone
示例2:
for i in {a..z}do echo i"done
2.6 case语句
case a in 1) echo {a} = 2 ;; 3) echo {a} = 其他 ;; esac
2.7 运算
expr支持普通的算术操作,算术表达式优先级低于字符串表达式,高于逻辑关系表达式。
+ -加减运算。两端参数会转换为整数,如果转换失败则报错。* / %乘,除,取模运算。两端参数会转换为整数,如果转换失败则报错。() 可以改变优先级,但需要用反斜杠转义
a=3b=4echo `expr $a + $b` # 输出7echo `expr $a - $b` # 输出-1echo `expr b` # 输出12,*需要转义echo `expr $a / $b` # 输出0,整除echo `expr $a % $b` # 输出3echo `expr \( b + 1 \)` # 输出20,值为(a + 1) * (b + 1)
其他加法方式:
count=1是第一个参数,$2是第二个参数,以此类推。特殊的,$0是文件名(包含路径)创建文件test.sh:#! /bash/binecho "文件名:"1echo "第二个参数:"3echo "第四个参数:"#代表文件传入的参数个数,如上例中值为4$*由所有参数构成的用空格隔开的字符串,如上例中值为"$1$2$3$4"$@每个参数分别用双引号括起来的字符串,如上例中值为"$1" “$2” “$3” “$4”$$脚本当前运行的进程ID$?上一条命令的退出状态(注意不是stdout,而是exit code)。0表示正常退出,其他值表示错误((2))}# 调用函数并获取结果result=result"[root@localhost /]# The sum is 15