shell中条件判断文件, 判断数值, 判断字符; 逻辑比较, test的使用

shell中的条件判断: (选项参考man test)

1. 文件判断:
  判断目录存在不存在: test -d /home 执行后使用$?查看结果为0, 表示是目录; test命令无论执行结果如何, 都不会报错, 只会返回0或非0
  test -d /home 语法等同于 [ -d /home ] test可使用[来代替, 后面的]只不过是一个参数, 不要把这个当作方括号看待, 人家是个命令啊.


2. 数值判断:
  if [ $UID -ne 0 ]; then $UID用户判断当前用户是否是root, 是0否非0; -ne 即不等于的意思


3. 字符判断:
  if [ $USER = "root" ]; then $USER用来获取当前登录的用户名, 字符的判断直接使用=即可. =和==效果一样

 

逻辑比较: [ ] 中多用来进行逻辑比较, 如下: 

   [ -z "$name" ] [ -n "$name" ] 用来判断变量长度是否为0, 注意shell中字符变量使用时最好都加上双引号
  shell中, 变量未定义或值为空时, 长度都是0

posted @ 2020-01-08 19:59  叶落kiss  阅读(1032)  评论(0编辑  收藏  举报