设为首页 收藏本站
查看: 920|回复: 0

初识shell【运算符与判断】

[复制链接]

尚未签到

发表于 2018-8-20 10:30:04 | 显示全部楼层 |阅读模式
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   多次判断


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-554172-1-1.html 上篇帖子: shell中自定义函数 下篇帖子: 每日一shell(七)统计站点的IP和PV
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表