shell中的双括号表达式

语法格式

(( expression ))

expression可以是任何数学表达式,可以包含的操作符有:

+  加

- 减

* 乘(无需转义)

/ 除

% 取余

** 指数

== 等于

!= 不等

> 大于

< 小于

>= 大于等于

<= 小于等于

&& 逻辑与

|| 逻辑或

! 逻辑非& 按位与

| 按位或

~ 按位取反

>> 右移(带符号右移)

<< 左移

var++ 等于同C语言中的++

var-- 等于同C语言中的--

++var 等于同C语言中的++

--var 等于同C语言中的--

时间: 2024-08-29 07:00:12

shell中的双括号表达式的相关文章

shell中的双引号,单引号,反引号

在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中).例如: $ string=’$PATH’ $ echo $string $PATH 可见$保持了其本身的含义,作为普通字符出现. 双引号 “ 双引号用于保持引号内所有字符的字面值(回

shell中如何取括号中的字符

1. 使用grep(结果带括号,不知道有没有办法仅把括号中的内容匹配出来) $a='abc[edg]adfirpqu' $echo $a|grep -o '\[.*\]' #中括号的处理需要转义 [edg] $b='abc(edg)adfirpqu' $echo $b|grep -o '(.*)' (edg) 2. 使用cut $a='abc[edg]adfirpqu' $echo $a|cut -d '[' -f2|cut -d ']' -f1 edg $b='abc(edg)adfirpqu

shell中的大括号和小括号

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

shell中的数组

编译执行bash的方法 (1)bash  test.sh (2) chmod 755 test.sh   #给bash赋予可执行的权限   r-4  w-2  x-1 ./test.sh bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开.定义数组的一般形式为:    array_n

linux shell中的各种奇怪符号

有段时间没有写shell了,今天偶尔看到一个shell文件内容.里面有些特殊的用法,只觉得有印象但就是说不出具体的功能,就又查了一下.顺便记录下来,防备以后参考. 首先,从脚本之家的一篇文章中借鉴些东西(http://www.jb51.net/article/60326.htm),说说shell中的各种括号,可以列举的有以下几种: ${var} $(cmd) ${var:-string},${var:+string},${var:=string},${var:?string} ${var%pat

shell 中的 特殊变量类型数组

shell 中两种数据类型:一是数值类型,二是字符串类型:虽然shell本身是弱类型的,但也可以这么区分.如果我们需要在shell中一个变量中存储多个值,那么就需要一个更方便的类型数组数组在shell中是用括号括起来每个值之间用空格隔开就定义了一个数组a=(1 2 3 4 5)a=("a" "b" "c" "d" "e")a=(1 "a" 2 "b")都是可以的 数组

书写优雅的shell脚本(五)- shell中(())双括号运算符

在使用shell的逻辑运算符"[]"使用时候,必须保证运算符与算数之间有空格. 四则运算也只能借助:let,expr等命令完成. 今天讲的双括号"(())"结构语句,就是对shell中算数及赋值运算的扩展. 1.语法: ((表达式1,表达式2-)) 2.特点: (1)在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等. (2)在双括号结构中,所有变量可以不加入:"$"符号前缀. (3)双括号可以进行逻辑运算,四则运算 (4)双括号结

shell if条件判断中:双中括号与单中括号的区别

电脑重装了系统,登录虚拟机的shell脚本需重写,在为编写的脚本命名时发现存在同名脚本,才想起来是连接公司服务器的登录脚本,不想写俩脚本,怕记混了,那就整合一下.代码如下: #!/bin/bash#zxl.sh 脚本名 if [ $1 == 1 ] then        ssh a.a.a.a else        ssh b.b.b.b fi so easy,运行脚本  ./zxl.sh  1  和  ./zxl.sh  2  成功登录了公司服务器和虚拟机.今天登录的时候,却出问题了. 我

shell中各种括号的作用

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