欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Shell—各种括号的用法

程序员文章站 2022-11-07 20:58:22
括号的种类 小括号,圆括号 ( ) 中括号,方括号 [ ] 大括号、花括号 { } 一、单小括号 () 1.另开命令组——小括号中的命令将会新开启一个子shell独立顺序运行,所以括号中的变量不能够被脚本余下的部分使用。括号中多个命令之间用分号隔开,最后一个命令不需要分号,各命令和括号之间无空格。 ......

括号的种类

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

一、单小括号 ()

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语言规则的运算符,表达式。

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

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

三、单中括号 []

四、双中括号 [[ ]]

五、大括号