括号的种类

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

一、单小括号 ()

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. Linux使用alias自定义命令自定义快捷键

    比如我经常需要进入一个很深的目录如 /home/walking/weblogic/devlop/script/application/.../... 这样每次进入这个目录操作是不是很麻烦,可能有时候记 ...

  2. Nginx模块及配置虚拟主机

    1.Nginx的2组主要的模块 (1)core modules (必需,核心模块) 包括:Main.Events (2)Standard HTTP modules(虽然不是必需,但是缺省都会安装,不建 ...

  3. 简单的权限管理php

    转发自https://www.cnblogs.com/shenzikun1314/p/6604867.html#4262295 首先,要明白的基础理论是用户,角色,权限之间的关系是一对多,还是多对多. ...

  4. Flask 模板语言,装饰器

      Jinja2模板语言 # -*- coding: utf-8 -*-   from flask import Flask, render_template, request, redirect,  ...

  5. jQuery随笔记录

            DOM遍历 parent()方法返回所选元素的直接父元素.(parent() 只能遍历单个级别的 DOM树) parents()方法获取所选元素的所有祖先 children()所选元素 ...

  6. html中的框架frameset和frame及iframe

    通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面. 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面,简而言之,就是在一个窗口中显示多个页面. 每个页面称之为一个框架.并且每个框架独立 ...

  7. 【好书推荐】《剑指Offer》之硬技能(编程题12~16)

    本文例子完整源码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/sword <[好书推荐]& ...

  8. 正确设置越狱版ios的终端编码--命令行中文的处理

    本文是针对越狱版iPhone手机的,手机没有越狱就别看了,看了也没办法用. 越狱版的iPhone当然是为了跟电脑一样做各种有趣的事情的. 但通常越狱的iPhone在命令行都无法处理中文,比如你的播放器 ...

  9. 剑指Offer-42.和为S的两个数字(C++/Java)

    题目: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 分析: ...

  10. a minimum of subsistence

    A hundred years ago it was assumed and scientifically "proved" by economists that the laws ...