我在学习shell编程的时候,被各种括号的使用搞糊涂了。通过逐渐熟悉和积累,终于掌握了所有括号的用法。现在,分享一下你的总结。

注意:阅读本文的前提是你已经具备bash和shell编程的基础。

单括号()

但是圆括号有两个常见的功能:命令替换和数组初始化

命令替换

当遇到$()结构时,shell执行括号中的内部命令并返回结果

# tmp = $(日期)# echo $ tmpfrisep 18 10:22:30 CST 2020初始化阵列

#初始化数组lnmp=(linux nginx mysql php)双括号(())

记住双括号有一个特点,就是括号要符合C语言的语法,使用变量名不需要加$符号。

双括号的用途很多,可以用于整数计算(不支持小数)。例如:$((3+2))

# echo $((1+3))4 # n1 = 3 # echo $((n1+7))10只要符合C语言语法的操作扩展就可以写在括号里

# echo $((3+4 & gt;5?1:0))1 # echo $((3+4 & gt;9?1 :0)) 0重新给变量赋值。此时,您不能在括号中添加$符号

# I = 1;((i++));echo $ I;2 # I = 1;((I = 100));echo $ I;100双括号也常用于for循环

for((I = 0;i&lt。5;i++);do echo-n $ I;完成单方括号[]

单方括号最常用于逻辑判断。此外,它还可以用作数组的下标和正则化中的一个范围

用于shell脚本中的条件判断:

if [ 1 >;[2]然后...fi也可以用作数组下标:

# echo ${lnmp[1]}nginx用于正则化以指示范围

[0-9]表示数字0-9都有方括号。

与单括号一样,双括号也用于条件判断,但比单括号更一般。这里有一个例子:

[a & gt;b]& amp;& amp[a & gt;0]或[a >: b -a a >0]到双括号[[a >:b & amp;& ampa &gt。0 ]]单个大括号{}

花括号的扩展。(globbing)将在大括号中展开文件名。除非被引用或转义,否则大括号中不允许有空格。

例如,输入命令rm -f {1,2}。txt将删除1.txt和2.txt文件。

的功能...在单个花括号中

这里两点表示一个范围。诸如

回声{1...10} #将打印1,2,3,4,5,6,7,8,9,10花括号,这些花括号也常用于代码块的shell脚本中。

除了第一次,单花括号还可以用来替换和删除变量内容,测试变量内容,给出一个常见的例子。我们经常判断一个变量是否存在,如果不存在,就给这个变量设置一个新的值。

Val=${n1:-test}以上代码表示,如果变量n1不存在或为空,则Val变量的值将被设置为test,否则,val值将是n1变量的值。以上是全面整理linux下shell中各种括号的功能和用法的详细内容,还有更多

linux中括号的用法,全面梳理linux下shell中各种括号的作用和用法相关推荐

  1. Linux Shell 中各种括号的作用 ()、(())、[]、[[]]、{}

    来源:乌托邦2号 blog.csdn.net/taiyang1987912/article/details/39551385 转自:Linux爱好者 Table of Contents 一.小括号,圆 ...

  2. Linux—Shell 中各种括号的作用

    目录 引言 一.小括号 1. 单小括号 2. 双小括号 二.中括号 1. 单中括号 2. 双中括号 三.大括号 1. 用法 2. 特殊的替换结构 3. 四种模式匹配替换结构 4. 字符串提取和替换 四 ...

  3. linux脚本添加source,shell中的source命令的巧妙用法

    首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...

  4. [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法

    [转] linux下shell中使用上下键翻出历史命名时出现^[[A^[[A^[[A^[[B^[[B的问题解决,Linux使用退格键时出现^H解决方法 参考文章: (1)[转] linux下shell ...

  5. shell中的括号(小括号,中括号,大括号/花括号)

    一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号, ...

  6. C#中using关键字的作用及其用法(转)

    C#中using关键字的作用及其用法 using的用途和使用技巧.     using关键字微软MSDN上解释总共有三种用途:     1.引用命名空间.     2.为命名空间或类型创建别名.    ...

  7. linux shell set 赋值,请教linux下shell 中 set 的用法?

    使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显 ...

  8. linux中shell的小括号、大括号的用法区别

    Linux中小括号()和大括号{}都是对其中的一串命令进行执行,但有一定的区别,其区别如下: 1 小括号() ①命令组.括号中的命令新开一个子shell程序,括号中的变量为本地变量 ,不能够在脚本其他 ...

  9. linux shell ls -l,linux之ls -l|grep ^-|wc -l命令 Shell 中常見的日志統計方法

    轉:http://www.cnblogs.com/senior-engineer/p/6203268.html Shell 中常見的日志統計方法 https://my.oschina.net/wate ...

  10. Linux shell 中$() ` `,${},$[] $(()),[ ] (( )) [[ ]]作用与区别

    看到几篇博客,觉得写的不错 原文:https://blog.csdn.net/x1269778817/article/details/46535729 和http://blog.zol.com.cn/ ...

最新文章

  1. 99. Recover Binary Search Tree (Tree; DFS)
  2. 利用gulp搭建less编译环境
  3. SpringBoot 使用fastjson
  4. 使用URLRewriter实现URL重写
  5. linux设置历史命令保留数目限制,linux下修改history命令保存条数
  6. java 正则表达式 img_正则表达式处理图片地址、img标签的方法
  7. 【微软的VDI】Windows Server 2012 RDS存储相关
  8. linux umask命令
  9. vbs定时自动发送qq消息
  10. zint.dll 二维码、条形码库的获取及简单使用
  11. php 裁剪png图片,解决thinkphp裁剪png图片背景不透明的方法
  12. 转帖:三种快乐物质——多巴胺、血清素、内啡肽
  13. Flink Table Api 之Over Windows使用
  14. 无中介租房搜房工具 V1.0
  15. NDK (C++) 开发中如何使用 ASan 检测内存越界、溢出等内存错误
  16. [转]这些道理不懂,你注定就是穷打工的命
  17. SSE指令集加速运算
  18. 这是一份激励自己的文章
  19. Linux 目录文件与管理
  20. IELTS12 TEST8 allow children to make their own choices on everyday matters

热门文章

  1. 电子设计教程48:流水灯电路-完整电路设计
  2. [微信]微信小程序开发--用户昵称中带有emoji表情的处理方法
  3. 盘点20款让你脑洞大开的AR技术应用
  4. [苹果开发者账号]04 申请苹果开发者账号 美国报税表
  5. 猫哥说创业:发布软文赚钱术(1)
  6. 阶段二第一部分:第2章 Nginx进阶与实战
  7. 零基础学python实战答案-Python3.6零基础入门与实战 PDF 带源码视频版
  8. 微信小程序根据用户当前位置并打开地图选择周边地址,完成外卖地址选择并计算距离
  9. 推荐几个查找英语单词缩写的网站
  10. Tomcat肥猫越来越胖,干崩了我的云服务器