加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux下shell编程里的括号如何运用

发布时间:2023-08-13 18:38:05 所属栏目:Linux 来源:转载
导读:   这篇文章主要介绍“linux下shell编程里的括号怎么使用”,有一些人在linux下shell编程里的括号怎么使用的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大
  这篇文章主要介绍“linux下shell编程里的括号怎么使用”,有一些人在linux下shell编程里的括号怎么使用的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
 
  当初自己在学习shell编程的时候,被各种括号的用法搞得头昏脑涨。靠着逐步的熟悉和积累,才终于掌握的所有的括号的用法。现在,把自己总结出来的分享给大家。
 
  注:看本篇文档的前提是你已经有了bash以及shell编程的基础。
 
  单小括号()
 
  但小括号常见的两个作用:命令替换以及数组的初始化
 
  命令替换
 
  当碰到$()结构时,shell就把括号的内命令执行,并返回结果
 
  # tmp=$(date)
 
  # echo $tmp
 
  Fri Sep 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>5 ? 1 :0))
 
  1
 
  # echo $((3+4>9 ? 1 :0))
 
  0
 
  重新给变量赋值,这个时候不可在括号外加$符
 
  # i=1;((i++));echo $i;
 
  2
 
  # i=1;((i=100));echo $i;
 
  100
 
  双括号还经常用在for循环中
 
  for ((i=0;i<5;i++));do echo -n $i;done
 
  单方括号[]
 
  单方括号最常见用于逻辑判断中,另外它还可以作为数组的下标,以及在正则中表示一段范围
 
  shell脚本中用于条件判断:
 
  if [ 1 > 2 ] then
 
      ……
 
  fi
 
  也可以作为数组下标:
 
  # echo ${lnmp[1]}
 
  nginx
 
  在正则中使用,表示一段范围
 
  [0-9]  表示数子0-9都行
 
  双方括号
 
  和单括号一样,双方括号也用在条件判断中,但它比单方括号更加的通用。下面举一个例子:
 
  [ a > b ] && [ a > 0 ]或[ a > b -a a > 0 ]
 
  改成双括号
 
  [[ a > b && a > 0 ]]
 
  单花括号{}
 
  花括号拓展。(通配(globbing))将对花括号中的文件名做扩展。在大括号中,不允许有空白,除非这个空白被引用或转义。
 
  比如输入命令 rm -f {1,2}.txt将删除1.txt和2.txt文件。
 
  单花括号中..的作用
 
  两个点在这里表示一段范围的意思。比如
 
  echo {1..10}  #将打印1,2,3,4,5,6,7,8,9,10
 
  花括号还常用在shell脚本里,用于代码块。
 
  初次之外,单花括号还可以用作变量内容的替换和删除以及变量内容的测试,给出一个常见的例子。我们常常会判断一个变量是否存在,如果不存在,则给该变量设置新值。
 
  val=${n1:-test}
 
  上面代码表示如果n1这个变量不存在或为空,则将val变量值设置为test,否则val值为n1变量的值
 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章