Linux系统Shell脚本语法

数值运算:
1.给变量a,b赋值 [root@localhost ~]# a=11
[root@localhost ~]# b=22
a与b相加: [root@localhost ~]# d=$(expr $a + $b)
注意:“ + ”号左右两侧必须有空格
2.表达式求值:
$ expr 1 + 3
$ expr 2 – 1
$ expr 1 * 3 使用*要加转义符
$ echo expr 1 + 3
注意:表达式中,数字和运算符指教要有空格,出现在语句中要加反引号
3.“ ( ( 运 算 式 ) ) ” 或 “ ((运算式))”或“ (())[运算式]”
[root@localhost ~]# a=11
[root@localhost ~]# b=22
[root@localhost ~]# g=$[ $a + KaTeX parse error: Expected 'EOF', got '#' at position 28: …ot@localhost ~]#̲ a=(( (11+3)*3/2 ))
虽然乘和除的优先级高于加,但是通过小括号可以调整运算优先级
5.[root@localhost ~]# b=$(( 14%3 ))
14 不能被 3 整除,余数是 2
变量表达式:
1. 条件判断命令test:test n1 -参数 n2(或 –参数 表达式) 真返回0,假返回1。
test语句的等价形式[ 1 –lt 4 ]
可用中括号代替test,把表达式括起来实现判断
注意表达式与中括号间有空格
1.1. 整数,比较运算符 -lt 小于 -le 小于等于 -gt 大于
-ge 大于等于 -eq 等于 -ne 不等于
1.2. 文件测试 -f 存在且是普通文件 -d 存在且是目录
-s 存在且字节数大于0 -r 存在且可读
-w 存在且可写 -x 存在且可执行
如:test -d “mydoc” 判断mydoc是否是目录
2. 字符串测试 : test s 字符串s非空
test s1 = s2 字符串s1等于s2 test s1 != s2 字符串s1不等于s2
test -z s字符串长=0,即为空串 test -n 字符串长>0
3. 其他参数
-a 逻辑与 -o逻辑或 ! 逻辑非
控制流程:
1. 分支结构
1.1. if分支
if [ $# -eq 0 ]
then
echo “输入了0个参数”
elif [ KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲ -gt 1 ] …#” in
0) echo “输入了0个参数” ;;
1) echo “输入了1个参数” ;;
*) echo “输入了多个参数”;;
esac
每个分支条件后必须以两个分号结尾
2. 循环结构
for 例子——输出100内10的倍数
for i in seq 1 9
do
echo expr $i \* 10
done
乘号前加转义符,与数字间要有空格
#for i in {1…9} #大括号中不能有变量
3. read 变量1 [变量2 …]
键盘上读取多个变量的值,或输入数据时,以空格或者Tab键作为分隔。
如果输入的数据个数不够,则从左到右对应赋值,没有输入的变量为空;
如果输入的数据个数超了,则从左到右对应赋值,最后一个变量被赋予剩余的所 有数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值