括号的种类

  • 小括号,圆括号 ( )
  • 中括号,方括号 [ ]
  • 大括号、花括号 { }

一、单小括号 ()

1.另开命令组——小括号中的命令将会新开启一个子shell独立顺序运行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令不需要分号,各命令和括号之间无空格。

#!/bin/bash
(echo "error"; ls; pwd; exit)

2.得到命令输出——a=$(command), 等同于a=$`command`,shell扫描一遍命令行,发现了$(command)结构,便将$(command)中的command执行一次,得到其标准输出,再将此输出放到原来命令。得到命令输出传递给变量a。简言之:$(command)执行命令,并返回命令的执行结果。

#!/bin/bash
isPy27=$(python -V 2>&1 | grep '2.7.')
echo $isPy27 # 结果:Python 2.7.5

3.用于初始化数组——array=(a b c d)。

二、双小括号 (( ))

1.C语言规则运算——$((exp)),exp为符合C语言规则的运算符,表达式。

[root@localhost ~]# echo $((6-3))      # 结果:3

2.可以进行算数运算、比较,可以进行逻辑运算。((expression)):expression可以是任意的数学赋值或比较表达式。

#!/bin/bash

for ((num=0; num<30; num++));
do
if (($num <= 10 & $num >= 0)); then
echo $num
elif (($num <= 20 & $num > 10));then
echo "大于10小于20"
else
a=5; ((a++)); ((b=$a+20))
echo $a,$b
fi
done

3.跨进制运算——二进制、八进制、十六进制运算时,输出结果全都自动转化成了十进制。

#!/bin/bash
echo $((2#11)) # 结果:3 (2进位转十进制)
echo $((8#32)) # 结果:26 (8进位转十进制)
echo $((16#5f)) # 结果:95 (16进位转十进制)

三、单中括号 []

四、双中括号 [[ ]]

五、大括号

https://www.cnblogs.com/qlqwjy/p/8684630.html

https://blog.csdn.net/LinearF/article/details/81388568

https://blog.csdn.net/wllinux12138/article/details/82693079

https://www.cnblogs.com/weizhixu/p/10120420.html

https://www.jianshu.com/p/a709e6d52898

Shell—各种括号的用法的更多相关文章

  1. shell中括号的特殊用法 linux if多条件判断

    一.   bash [  ] 单双括号 基本要素: Ø  [ ] 两个符号左右都要有空格分隔 Ø  内部操作符与操作变量之间要有空格:如  [  “a”  =  “b”  ] Ø  字符串比较中,&g ...

  2. (转)shell中括号的特殊用法 linux if多条件判断

    一.   bash [  ] 单双括号 基本要素: Ø  [ ] 两个符号左右都要有空格分隔 Ø  内部操作符与操作变量之间要有空格:如  [  “a”  =  “b”  ] Ø  字符串比较中,&g ...

  3. shell expect的简单用法【转】

    用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下:  ######## ...

  4. (转)Shell中read的用法详解

    Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstn ...

  5. Linux Shell系列教程之(九)Shell判断 if else 用法

    本文是Linux Shell系列教程的第(九)篇,更多shell教程请看:Linux Shell系列教程 判断语句是每个语言都必不可少的关键语法,Shell命令当然也不例外.今天就给大家介绍下Shel ...

  6. [转帖]详解shell脚本括号区别--$()、$「 」、$「 」 、$(()) 、「 」 、「[ 」]

    详解shell脚本括号区别--$().$「 」.$「 」 .$(()) .「 」 .「[ 」] 原创 波波说运维 2019-07-31 00:01:00 https://www.toutiao.com ...

  7. shell脚本学习之Bash shell 里各种括号的用法

    今天在 SegmentFault 上看到又有人问起关于Shell里各种括号的问题.对于很多玩Shell的人,括号是个很尴尬的问题,用起来没问题,说起来不明白,我在这里总结一下Bash Shell几种括 ...

  8. shell编程 之 引号、括号的用法总结

    1 单引号 a=1 b='a string' 单引号屏蔽各种特殊字符.echo ‘$a " % \n ' 只能得到 $a " % \n 单引号可以指明界限,防止由分隔符----空格 ...

  9. shell中各种括号的用法

    一.单小括号()1.将某个命令的返回值作为某个变量的值进行传递 #!/bin/bash USER=$(whoami) echo $USER [root@jump ~]# for i in $(seq ...

随机推荐

  1. 面试连环炮系列(五):你们的项目为什么要用RabbitMQ

    你们的项目为什么要用RabbitMQ? 消息队列的作用是系统解耦.同步改异步.请求消峰,举个下订单的例子: 前端获取用户订单信息,请求后端的订单创建接口.这个接口并不直接请求订单服务,而是首先生成唯一 ...

  2. Javassist中文技术文档

    本文译自Getting Started with Javassist,如果谬误之处,还请指出. bytecode读写 ClassPool Class loader 自有和定制 Bytecode操控接口 ...

  3. C语言——线性表及其应用

    程序要求 1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度.2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68.3.建立一 ...

  4. HTML+CSS基础知识点简要汇总(思维导图)

  5. 极客必备 Chrome 浏览器插件

    本文微信公众号「AndroidTraveler」首发. 自己平时使用的最多的就是 Chrome 浏览器,因此本文主要分享自己添加的一些扩展程序. 介绍扩展程序的时候也是以我本人的实际使用为主,有些功能 ...

  6. 项目中遇到的问题:IDEA maven项目报错:程序包com.sun.image.codec.jpeg不存在

    错误截图: 解决方法:在pom.xml文件中间加上以下代码: 代码: <plugin> <groupId>org.apache.maven.plugins</groupI ...

  7. Linux之恢复误删除文件

    前言每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug.那么如果真的删除了不该删除的文件,比如数据库.日志或执 ...

  8. 第十六届浙江大学宁波理工学院程序设计大赛 D 雷顿女士与分队hard version(dp)

    题意 链接:https://ac.nowcoder.com/acm/contest/2995/D来源:牛客网 卡特莉接到来自某程序设计竞赛集训队的邀请,来为他们进行分队规划. 现在集训队共有n名选手, ...

  9. 【使用篇二】SpringBoot的日志体系及如何开启logback日志(15)

    抄自:https://blog.csdn.net/liujun03/article/details/82684209 Java应用中,日志一般分为以下5个级别(从高到低): ERROR 错误信息 WA ...

  10. [译]Vulkan教程(25)描述符布局和buffer

    [译]Vulkan教程(25)描述符布局和buffer Descriptor layout and buffer 描述符布局和buffer Introduction 入门 We're now able ...