shell括号操作符

以下以bash环境下做解说

一、单小括号()

二、双小括号(())

  可作数值条件操作,也可作数值运算使用(近似于 let 命令)

  如 C 语言语法一样,支持运算符:<<、<<=、>>、>>=、++、--、&、&=、|、|=、~、!、^、^=、+、-、*、/、%

三、单中括号[]

  [] 实际上是 bash 中 test 命令的简写,即 [ expr ] 等同于 test expr

  数值测试:-eq、-ne、-gt、-lt、-ge、-le

  字符串测试:=、!=、-z、-n

  文件测试:-d、-b、-s、-f、-w、-L、-u、-r、-x

四、双中括号[[]]

  遵照传统 C 编程语法。

  对于字符串与数字比较,若字符串无法转换成数字,则字符串统统赋值为0。

五、单大括号{}

未完待续。。。

时间: 2024-10-09 23:30:43

shell括号操作符的相关文章

Shell 括号辨识(转http://blog.csdn.net/taiyang1987912/article/details/39551385)

一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh. ③用于初始化数组.如:array=(a b c d) 2.双小括号 (( ))

shell 括号的特殊用法

Shell中的括号有其特殊的用法, 现总结如下: 1. 符号$后的括号 ${a} 变量a的值, 在不引起歧义的情况下可以省略大括号. $(cmd) 命令替换, 结果为shell命令cmd的输出, 和`cmd`效果相同, 不过某些Shell版本不支持$()形式的命令替换, 如tcsh. $((exp)) 和`expr exp`效果相同, 计算数学表达式exp的数值, 其中exp只要符合C语言的运算规则即可, 甚至三目运算符和逻辑表达式都可以计算. 2. 多条命令执行 (cmd1;cmd2;cmd3

shell 括号用法介绍

中括号[ 和 test 命令等价,用户布尔判断,比如: 1 a='abc' 2 if [ $a == 'abc' ] 3 then 4 echo "yes" 5 else 6 echo "no" 7 fi 等价于 1 if test $a == 'abc' 2 then 3 echo "yes" 4 else 5 echo "no" 6 fi 使用[]的时候要注意: 1. [] 左右括号要各留一个空格,否则会报错 2. 如果

Shell文件操作符(&gt; &gt;&gt; &gt;&gt;&gt;)

>   如果文件不存在,同上,如果文件存在,先将文件清空,然后将数据填入此文件 >>  如果文件不存在,将创建新的文件,并将数据送至此文件:如果文件存在,则将数据添加在文件后面(新起一行添加在文件后面) >>> 如果文件不存在,将创建新的文件,并将数据送至此文件:如果文件存在,则将数据添加在文件后面(不新建一行) 其他操作符以后再聊

shell 二元操作符 =~

17:14 [[email protected]]$ a=1 17:14 [[email protected]]$ if [[ $a =~ ^[0-9]+$ ]] ;then echo 'true'; else echo 'false';fi true 17:14 [[email protected]]$ a=ww 17:15 [[email protected]]$ if [[ $a =~ ^[0-9]+$ ]] ;then echo 'true'; else echo 'false';fi

shell中if条件字符串、数字比对,[[ ]]和[ ]区别

shell中if条件字符串.数字比对,[[ ]]和[ ]区别 引用: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_2050/article/details/6836382 shell 括号 学习shell的时候总是被shell里的条件判断方式搞得头疼,经常不知道改 用[],[[]],(())还是test,let,而很少有书把它们的关系讲解的很清楚(应该是我

Linux shell管道与重定向及实例分析

一.管道 管道命令操作符是:"|",它仅能处理由前面一个命令的正确输出信息,也就是standard output的信息,对于stdandard error信息没有直接处理能力:然后,传递给下一个命令,作为标准输入standard input. linux管道执行过程: 管道命令使用说明: command1正确输出,作为command2的输入,然后command2的输出作为command3的输入,command3的输出打印到屏幕上: 通过管道:command1.command2的正确输出

shell基础知识总结

1. shell 对于一台计算机而言,其硬件受系统内核的控制,使用者想要控制计算机,就必须有与系统内核进行通讯的手段.而shell就是使用者与计算机进行通讯的手段之一.从命名上看,shell其实是相对于kernel(内核)而言,指系统与外界(使用者)进行接触的部分,一个提供系统功能给用户使用的软件,它接受来自用户的指令,然后调用相应的应用程序. 为了满足不同的需求,shell提供了两种执行命令方式: a. 交互式:解释并执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令. b. 程序

shell脚本中的[]/[[]]区别

转自:http://www.cnblogs.com/include/archive/2011/12/09/2307905.html 引用: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_2050/article/details/6836382 shell 括号 学习shell的时候总是被shell里的条件判断方式搞得头疼,经常不知道改 用[],[[]],((