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

Posted 叶落kiss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于shell中条件判断文件, 判断数值, 判断字符; 逻辑比较, test的使用的主要内容,如果未能解决你的问题,请参考以下文章

shell中条件判断if中的-z到-d

Shell编程-05-Shell中条件测试与比较

hive中条件判断函数if/COALESCE/CASE/

生产者消费者模式中条件判断是使用while而不是if

14Shell脚本—判断语句

shell 判断一个值是不是存在于一个数值列表