13719654321 发表于 2018-8-20 10:30:04

初识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   【注:数字间有空格】
  # expr 10 % 3【求10与3的余数】
  1
  2.$[]
  # echo $   【求5乘3】
  15
  # x=5            【分别为x和y赋值并求乘积】
  # y=10
  # echo $
  50
  3.let                【不显示结果】
  # x=6
  # y=6
  # let i=x+y
  # echo $i
  12
  简写运算:
  # x=5
  # let x++            【为x值加1】
  # echo $x
  6
  # x=5
  # let x+=5         【为x值加5】
  # 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
  取小数点后两位
  # echo "scale=2;2/10"| bc
  .20
  6. 比较:test或    [   参数=   参数]               【括号内一定要有空格】
  # [ a = a ]
  # echo $?      【判断是否执行】
  0
  7.判断空值 -z
  # [ -z $p ]
  # echo $?
  0
  # p=5
  # [ -z $p ]
  # 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 errorroot < /root/mail
  编辑邮件内容vim /root/mail
  2.判断文件/目录的状态
  -e判断对象是否存在,存在即为真
  -d判断对象是否为目录,存在即为真
  -f判断对象是否为文件,存在即为真
  -r 读
  -w 写
  -o 执行本
  注:root对所有对象皆为真『脚本除外』
  #chmod -x who.sh
  #ll who.sh
  -rw-r--r--. 1 root root 81 4月24 11:52 who.sh
  #[ -o who.sh ]
  #echo $?
  1
  [判断]&& 命令    存在即执行命令
  [判断]||命令      不存在即执行命令
  !取反
  比较整数大小【带g的都有大于二字,带e的都有等于二字,带l的都有小于二字】
  -gt :大于
  -ge :大于等于
  -eq: 等于
  -ne:不等于
  -lt:小于
  -le:小于等于
  单分支if   只能判断对
  双分支if   判断对和错
  多分支if   多次判断

页: [1]
查看完整版本: 初识shell【运算符与判断】