Linux 各种运算符

Posted 刘合栋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 各种运算符相关的知识,希望对你有一定的参考价值。






- 算术运算符

算术运算符,常用的有+-*/%++--**







- 关系运算符

关系运算符,常用的有<<=>>====!=

  • < - 小于运算符

    [[email protected] ~]$ echo $(( 1 < 2 ))
    1   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ (( 1 < 2 ));echo $?
    0   # 返回值为0表示(tree),返回值为1表示(false)
    
    [[email protected] ~]$ [[ 1 < 2 ]];echo $?
    0   # 返回值为0表示(true),返回值为1表示(false)
    
  • <= - 小于或等于运算符

    [[email protected] ~]$ echo $(( 1 <= 2 ))
    1   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ (( 1 < 2 ));echo $?
    0   # 返回值为0表示(tree),返回值为1表示(false)
  • > - 大于运算符

    [[email protected] ~]$ echo $((1 > 2))
    1   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ ((1 > 2));echo $?
    0   # 返回值为0表示(tree),返回值为1表示(false)
    
    [[email protected] ~]$ [[ 1 > 2 ]];echo $?
    0   # 返回值为0表示(true),返回值为1表示(false)
  • >= - 大于或等于运算符

    [[email protected] ~]$ echo $((1 >= 2))
    1   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ ((1 >= 2));echo $?
    0   # 返回值为0表示(tree),返回值为1表示(false)
  • = - 等于运算符

    [[email protected] ~]$ [ "word" = "word" ];echo $?
    # 该行为是进行字符串比较
    [[email protected] ~]$ [[ "word" = "word" ]];echo $?
    # 该行为是进行字符串比较
  • == - 等于运算符

    [[email protected] ~]$ expr 1 == 1
    1   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ echo $((1 == 1))
    1   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ ((1 == 1));echo $?
    0   # 返回值为0表示(true),返回值为1表示(false)
    
    [[email protected] ~]$ [[ 1 == 1 ]];echo $?
    0   # 返回值为0表示(true),返回值为1表示(false)
  • != - 不等于运算符

    [[email protected] ~]$ expr 1 != 1
    0   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ echo $((1 != 1))
    0   # 返回值为0表示(false),返回值为1表示(true)
    
    [[email protected] ~]$ ((1 != 1));echo $?
    1   # 返回值为0表示(true),返回值为1表示(false)
    
    [[email protected] ~]$ [[ 1 != 1 ]];echo $?
    1   # 返回值为0表示(true),返回值为1表示(false)






- 逻辑运算符

逻辑运算符,常用的有&&||!

  • && - 逻辑与运算符

    [[email protected] ~]$ make && make install
    # 只有当make命令成功执行时,才会执行后面的语句
    [[email protected] ~]$ [ -f /etc/passwd -a -d /etc ];echo $?
    # -a 等同于 &&
  • || - 逻辑或运算符

    [[email protected] ~]$ make || echo "Make failed !"
    # 当make执行失败时,才会执行后面的语句
    [[email protected] ~]$ [ -f /etc/passwd -o -d /etc];echo $?
    # -o 等同于 ||
  • ! - 逻辑非运算符

    [[email protected] ~]$ [ 1 -eq 1 ];echo $?
    0
    [[email protected] ~]$ [ ! 1 -eq 1 ];echo $?
    1
    # !真 = 假 , !假 = 真
    # 也就是将结果取反,如果表达式为0则返回1,为1则返回0、






- 按位运算符

按位运算符,常用的有&|^~<<>>






- 文件测试符

文件测试有很多,如下:
-n - 检测字符长度是否为0,不为0则返回true

-z - 检测字符长度是否为0,为0则返回true

-eq - 等于

-ge - 大于等于

-gt - 大于

-le - 小于等于

-lt - 小于

-ne - 不等于

-ef - 判断 file1file2 是否具有相同的设备和inode编号

-nt - 判断 filefile2 哪一个文件比较新

-ot - 判断 filefile2 哪一个文件比较旧

-b - 判断文件是否存在,并且是块设备文件

-c - 判断文件是否存在,并且是字符设备文件

-d - 判断文件是否存在,并且是目录

-e - 判断文件是否存在

-f - 判断文件是否存在,并且是普通文件

-g - 判断文件是否存在,并且设置了SGID位

-G - 判断文件是否存在,并且GID有效

-h - 判断文件是否存在,并且是一个符号链接(与-L相同)

-k - 判断文件是否存在,并且设置了粘着位

-L - 判断文件是否存在,并且是一个符号链接(与-h相同)

-O - 判断文件是否存在,并且UID有效

-p - 检测文件是否存在,并且具备命名管道

-r - 判断文件是否存在,并且具备读权限

-s - 判断文件是否存在,并且大小大于0

-S - 判断文件是否存在,并且是一个套接字

-t - 文件描述符是在一个终端打开的

-u - 判断文件是否存在,并且设置了SUID位

-w - 判断文件是否存在,并且具备写权限

-x - 判断文件是否存在,并且具备执行权限




























以上是关于Linux 各种运算符的主要内容,如果未能解决你的问题,请参考以下文章

Linux 各种运算符

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

小程序各种功能代码片段整理---持续更新

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段