初识shell【运算符与判断】

网友投稿 261 2022-11-12

初识shell【运算符与判断】

小白的shell之路

系统版本 Red Hat Enterprise Linux Server release 7.0

【基础篇】 认识shell和基本运算符 1.什么是shell脚本:

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

2.查看本机现有解释器: cat /etc/shells 3.修改用户的shell解释器: useradd -s /bin/ksh zhangsan 【创建用户张三的时候指定登陆shell】 usermod -s /bin/ksh zhangsan 【修改已有用户张三的登陆shell】 4.查看历史命令: history vim /etc/profile 【进入配置文件】 HISTSIZE=1000 【可修改默认历史数量】 history -c 【清空历史命令】 5.历史命令的应用: ![序号] 【再次执行该序号的命令】 !cat 【再次执行最近以cat开头的命令】 6.重定向标准输入/输出/错误输出 > 将命令执行的正常输出重定向到文件 >>:只收集前面命令的正确输出 2>:只收集前面命令的错误输出 &>:前面命令的正确与错误输出 >&2:将正确的输出结果变成错误的输出 运算符: 1.expr 【注:数字间有空格】 [root@server0 ~]# expr 10 % 3 【求10与3的余数】 1 2.$[] [root@server0 ~]# echo $[5*3] 【求5乘3】 15 [root@server0 ~]# x=5 【分别为x和y赋值并求乘积】 [root@server0 ~]# y=10 [root@server0 ~]# echo $[x*y] 50 3.let 【不显示结果】 [root@server0 ~]# x=6 [root@server0 ~]# y=6 [root@server0 ~]# let i=x+y [root@server0 ~]# echo $i 12 简写运算: [root@server0 ~]# x=5 [root@server0 ~]# let x++ 【为x值加1】 [root@server0 ~]# echo $x 6 [root@server0 ~]# x=5 [root@server0 ~]# let x+=5 【为x值加5】 [root@server0 ~]# echo $x 10 let x*=5 【为x值晨乘5】 let x/=5 【为x值除以5】 let x%=5 【为x值取余】 4.bc 【计算器】 5+5 10 5. 取小数点后x位 scale=x 取小数点后两位 [root@server0 ~]# echo "scale=2;2/10" | bc .20 6. 比较:test 或 [ 参数 = 参数 ] 【括号内一定要有空格】 [root@server0 ~]# [ a = a ] [root@server0 ~]# echo $? 【判断是否执行】 0 7.判断空值 -z [root@server0 ~]# [ -z $p ] [root@server0 ~]# echo $? 0 [root@server0 ~]# p=5 [root@server0 ~]# [ -z $p ] [root@server0 ~]# echo $? 1 1.一行打多条命令 a && b 仅当a成功时,才执行b a || b 仅当a失败时,才执行b a ; b 执行a,执行b 示例: 创建用户登陆超过两个邮件报警 #!/bin/bash num=`who | wc -l` [ $num -gt 2 ] && mail -s error root < /root/mail 编辑邮件内容vim /root/mail 2.判断文件/目录的状态 -e 判断对象是否存在,存在即为真 -d 判断对象是否为目录,存在即为真 -f 判断对象是否为文件,存在即为真 -r 读 -w 写 -o 执行本 注:root对所有对象皆为真『脚本除外』 [Moring晨光]#chmod -x who.sh [Moring晨光]#ll who.sh -rw-r--r--. 1 root root 81 4月 24 11:52 who.sh [Moring晨光]#[ -o who.sh ] [Moring晨光]#echo $? 1 [判断] && 命令 存在即执行命令 [判断] || 命令 不存在即执行命令 ! 取反 比较整数大小【带g的都有大于二字,带e的都有等于二字,带l的都有小于二字】 -gt :大于 -ge :大于等于 -eq: 等于 -ne:不等于 -lt:小于 -le:小于等于 单分支if 只能判断对 双分支if 判断对和错 多分支if 多次判断

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:并购HDMI接口缔造者,ADI将缔造怎样的音视频接口技术?
下一篇:基于java中cas实现的探索
相关文章

 发表评论

暂时没有评论,来抢沙发吧~