Shell常用操作符总结_linux shell

一、算术操作

复制代码 代码如下:

    +  -  *    /    %

  
二、关系操作

复制代码 代码如下:

    <  >    >=      <=    ==    !=    &&  ||

 

三、测试操作

    测试命令 :  test    [ ]      [[ ]]    (( ))
  
1、测试文件状态

复制代码 代码如下:

      -d  目录
      -b  块设备
      -s  文件长度 > 0、非空
      -f  正规文件
      -w  可写
      -L  符号连接
      -u  文件有 suid 位设置
      -r  可读
      -x  可执行
如:  [ -w tmp.txt ]        测试文件tmp.txt是否可写

2、字符串测试

复制代码 代码如下:

      =  两个字符串相等
      !=  两个字符串不相等
      -z  空串
      -n  非空串
 
      $ VAR1='abc'
      $ VAR2='123'
      $ [ "$VAR1" = "$VAR2" ]
        $ echo $?
        1

3、测试数值

复制代码 代码如下:

      -eq 等于
      -ne 不等于
      -gt 大于
      -lt 小于
      -ge 大于等于
      -le 小于等于

4. 拓展测试符号  [[ ]]  (( ))

复制代码 代码如下:

# [[ 2 > 10 ]]  # 结果错误
# echo $?
  0
# ((  2 >10 ))  结果正确
# echo $?
  0
# [[ "aa" = "aa" ]]
# echo $?
  0
# (( "aa" = "aa" )) #结果错误
# echo $?
    1

四、结论

    比较数字,使用(( ))
    其他测试使用 [[ ]]
    包含数字比较的混合测试,使用标准语法

时间: 2024-08-13 11:05:10

Shell常用操作符总结_linux shell的相关文章

Shell常用操作符总结

  这篇文章主要介绍了Shell常用操作符总结,本文讲解了算术操作符.关系操作符.测试操作符等内容,需要的朋友可以参考下 一.算术操作 复制代码 代码如下: + - * / % 二.关系操作 复制代码 代码如下: < > >= <= == != && || 三.测试操作 测试命令 : test [ ] [[ ]] (( )) 1.测试文件状态 代码如下: -d 目录 -b 块设备 -s 文件长度 > 0.非空 -f 正规文件 -w 可写 -L 符号连接 -u

积累linux常用命令大全_linux shell

本人记忆力有限,就把平时在项目中遇到的linux常用命令分享给大家. Linux常用命令全集 http://www.jb51.net/linux/ linux文件中存在^M 使用shell命令tr可以实现去除,具体命令如下: 复制代码 代码如下:   cat -v yourfile | tr -d "^M" > targetfile VIM中选定某个单词 在ESC之后,使用w或者wi或者vwi可以选择某个单词 在控制台中快速移动光标 1.删除 1.1 ctrl + d 删除光标所

常用Linux Shell进阶部分小结_linux shell

如何计算当前目录下的文件数和目录数    # ls -l * |grep "^-"|wc -l ---- to count files # ls -l * |grep "^d"|wc -l ----- to count dir        如何只列子目录?    ls -F | grep /$ 或者  alias sub = "ls -F | grep /$"(linux)     ls -l | grep "^d" 或者

Shell编程之Shell变量学习总结_linux shell

一.变量操作 A.变量显示.打印语法:echo $varB.变量设置语法:var=value 变量的设置规则:1.变量两端不能直接接空格符2.变量名称只能是因为字母与数字,但开头不能使数字3.双引号内的特殊字符如$等,保持原本特性 复制代码 代码如下: [root@bogon ~]# var="lang is $LANG"[root@bogon ~]# echo %varroot@bogon ~]# echo $varlang is zh_CN.UTF-8 1. 单引号内的特殊字符则仅

简介Linux中cp和mv搭配{,}在shell当中的用法_linux shell

经常会在博客或者论坛看到类似下面的命令 大括号扩展  Brace expansion  {     }  shell   作用 cp /etc/httpd/httpd.{,.bakup} 或者是 mv resume{z,}.doc 那么,在uinx / linux  shell命令中是什么意思?起什么作用呢? {  } 并没有什么实际的含义,但是却可以作为Brace expansion(大括号扩展或叫做花括号扩展)而经常用于产生各种组个.以下是翻译自 GNU/BASH  man page  的内

linux下执行shell命令方法简介_linux shell

linux下执行shell命令有两种方法  在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shell命令,命令行直接执行给出结果.比如这样: 2.在当前shell中产生一个subshell,在subshell中执行shell命令 比如我们把shell写成shell脚本的方式来运行,这个时候会先启动一个subshell来代替当前的shel

编写你的shell其实很简单_linux shell

引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关联跑的.你也许会说,这太简单了,写个循环,然后,让他自己去跑就行了.是的,你可以很顺手的用你的编程语言去写循环,如PHP.但是,你知道,这样做其实是改变了代码结构了,鬼知道会导致什么结果呢? 并且,我并不保证里面所有代码的意思,我都懂!那么,问题来了,在不改变原代码的前提下,怎样去循环这几个月的时间

shell数组常用实例分享_linux shell

说明:shell中数组的下标默认是从0开始的 1.将字符串放在数组中,获取其长度 复制代码 代码如下: #!/bin/bashstr="a b --n d"array=($str)length=${#array[@]}echo $length for ((i=0; i<$length; i++))doecho ${array[$i]}done 执行结果:[oracle@99bill-as9 array]$ sh length.sh4a --nd 2).打印字符串: 复制代码 代码

25个好用的Shell脚本常用命令分享_linux shell

1.列出所有目录使用量,并按大小排序. 复制代码 代码如下: ls|xargs du -h|sort -rn #不递归下级目录使用du -sh 2.查看文件排除以#开关和空白行,适合查看配置文件. 复制代码 代码如下: egrep -v "^#|^$"  filenamesed '/#.*$/d; /^ *$/d' 3.删除空格和空行. 复制代码 代码如下: sed '/^$/d' filename #删除空行sed 's/ //g' filenamesed 's/[[:space:]