Linux后端开发-shell编程

命令行参数

算数运算符

算数运算符和C中都一样,但是shell本身并没有这个功能,需要使用expr(他的功能是计算等)

 python的执行速度可能不是很优秀,但是它的计算速度上十分突出,数学好的小伙伴真的别浪费聪明的头脑,人生苦短啊!!!

 其他的算数运算符和C中的一样,取模等也都有.

关系运算符

shell中 ==(只能判断数字,字符串中也必须只是数字) != 和C中一样,但是没有>小于

其他关系运算符

-eq检测两个数是否相等,相等返回 true。[ $a -eq $b ] 返回 false。
-ne检测两个数是否不相等,不相等返回 true。[ $a -ne $b ] 返回 true。
-gt检测左边的数是否大于右边的,如果是,则返回 true。[ $a -gt $b ] 返回 false。
-lt检测左边的数是否小于右边的,如果是,则返回 true。[ $a -lt $b ] 返回 true。
-ge检测左边的数是否大于等于右边的,如果是,则返回 true。[ $a -ge $b ] 返回 false。
-le检测左边的数是否小于等于右边的,如果是,则返回 true。[ $a -le $b ] 返回 true。

python中就和C中的完全一样了

逻辑运算符

a=1 b=1为变量

shell中 -a 与 [$a -a $b], -o 或 [$a -o $b], ! 非[! a] 全部返回bool值

python中 and 与 (a and b) 返回b, or 或 (a or b) 返回a, not 非 not(a) 返回布尔值

python中的与和或返回的是截断值并不一定是布尔值.当然了0是假,非0是真在python中同样遵守

字符串运算符

shell中

str1="aaa" str2="bbb"

[$str1 = $str2] 判断两个字符串是否相等返回bool

[-z $str1] 判断是否是空串返回bool

[-n $str1] 效果和 -z 相反

[$str1] 不为空返回真

python中字符串功能太多,就不叙述了.

毕竟shell编程目的还是认识能看懂脚本语言.

文件测试运算符

shell中独有的,当然了其他语言可以实现.

-b file检测文件是否是块设备文件,如果是,则返回 true。[ -b $file ] 返回 false。
-c file检测文件是否是字符设备文件,如果是,则返回 true。[ -c $file ] 返回 false。
-d file检测文件是否是目录,如果是,则返回 true。[ -d $file ] 返回 false。
-f file检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。[ -f $file ] 返回 true。
-g file检测文件是否设置了 SGID 位,如果是,则返回 true。[ -g $file ] 返回 false。
-k file检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true。[ -k $file ] 返回 false。
-p file检测文件是否是有名管道,如果是,则返回 true。[ -p $file ] 返回 false。
-u file检测文件是否设置了 SUID 位,如果是,则返回 true。[ -u $file ] 返回 false。
-r file检测文件是否可读,如果是,则返回 true。[ -r $file ] 返回 true。
-w file检测文件是否可写,如果是,则返回 true。[ -w $file ] 返回 true。
-x file检测文件是否可执行,如果是,则返回 true。[ -x $file ] 返回 true。
-s file检测文件是否为空(文件大小是否大于0),不为空返回 true。[ -s $file ] 返回 true。
-e file检测文件(包括目录)是否存在,如果是,则返回 true。[ -e $file ] 返回 true。

条件判断语句

 注意shell中空格是必须添加的,python条件语句后的 :

代码的缩进就是一个语句块

shell也就到这里了,当然这些只是基础,可是够用了.因为目的是为了能看懂shell.

如果真的需要写,C/C++完全可以胜任,当然了代码量也会感人.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值