# 美国Linux服务器系统()与[ ]括号的作用

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/19003.html | 发布：2023-03-28 | 更新：2023-03-28 | 分类：服务器vps推荐

[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统在使用过程中会很多需要使用到括号的时候，而不同括号在[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统中会有不同的作用，本文小编就来介绍下[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统中括号( )和[ ]括号的作用。

 

一、括号( )的作用

 

1、单小括号 ( )

 

1）命令组

 

括号中的命令将会新开一个子shell顺序执行，所以括号中的变量不能够被脚本余下的部分使用。[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统括号中多个命令之间用分号隔开，最后一个命令可以没有分号，各命令和括号之间不必有空格。

 

2）命令替换

 

等同于[美国Linux服务器](https://www.mfisp.com/shop/usidc)的cmd，shell扫描一遍命令行，发现了$(cmd)结构，便将$(cmd)中的cmd执行一次，得到其标准输出，再将此输出放到原来命令。有些shell不支持，如tcsh。

 

3）用于美国Linux服务器系统初始化数组。

 

![美国Linux服务器系统()与[ ]括号的作用](https://www.mfisp.com/wp-content/uploads/2023/03/57d5f162b7dd0c26e7bf6c7c7b278e56-11.png)

 

2、双小括号 (( ))

 

1）整数扩展

 

[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统这种扩展计算是整数型的计算，不支持浮点型。((exp))结构扩展并计算一个算术表达式的值，如果表达式的结果为0，那么返回的退出状态码为1，而一个非零值的表达式所返回的退出状态码将为0。若是逻辑判断，表达式exp为真则为1，假则为0。

 

2）只要[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统括号中的运算符、表达式符合C语言运算规则，都可用在$((exp))中，甚至是三目运算符。作不同进位运算时，输出结果全都自动转化成了十进制。

 

3）单纯用 (( )) 也可重定义[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统变量值。

 

4）用于算术运算比较

 

[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统双括号中的变量可以不使用$符号前缀。括号内支持多个表达式用逗号分开。 只要括号中的表达式符合C语言运算规则，比如可以直接使用for((i=0;i<5;i++))， 如果不使用双括号， 则为for i in `seq 0 4`或者for i in {0..4}。再如可以直接使用if (($i<5))， 如果不使用双括号， 则为if [ $i -lt 5 ]。

 

![](https://www.mfisp.com/wp-content/uploads/thumb/2021/10/fill_w120_h120_g0_mark_6b9525161d6ba7_1_post.webp) 

[![](https://www.mfisp.com/wp-content/uploads/thumb/2021/10/fill_w120_h120_g0_mark_6b9525161d6ba7_1_post.webp)](https://www.mfisp.com/shop/336.html)

## [美国服务器-USC3E31230B](https://www.mfisp.com/shop/336.html)[出售]

 

￥999

 

￥1199

 
 
- 库存：9.9k 
- 已售：121 
- 人气：3.3k

 

二、括号[ ]

 

1、单括号 [ ]

 

1）bash 的内部命令，和test是等同的

 

如果不用绝对路径指明，通常用的都是bash自带的命令。if/test结构中的左中括号是调用test的命令标识，右中括号是关闭条件判断的。这个命令把它的参数作为比较表达式或者作为文件测试，并且根据比较的结果来返回一个退出状态码。if/test结构中并不是必须右中括号，但是[美国Linux服务器](https://www.mfisp.com/shop/usidc)新版的Bash中要求必须这样。

 

2）Test和[ ]中可用的比较运算符只有==和!=，两者都是用于字符串比较的，不可用于整数比较，整数比较只能使用-eq，-gt这种形式。无论是字符串比较还是整数比较都不支持大于号小于号。

 

3）字符范围

 

用作正则表达式的一部分，描述一个匹配的字符范围。作为[美国Linux服务器](https://www.mfisp.com/shop/usidc)test用途的括号[ ]内不能使用正则。

 

4）在一个array 结构的上下文中，括号[ ]用来引用数组中每个元素的编号。

 

![美国Linux服务器系统()与[ ]括号的作用](https://www.mfisp.com/wp-content/uploads/2023/03/6c266225c370d69c016074fd5094930f-4.png)

 

2、双括号[[ ]]

 

1）[[是bash程序语言的关键字，并不是一个命令，[[ ]] 结构比[ ]结构更加通用。[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割，但是会发生参数扩展和命令替换。

 

2）支持字符串的模式匹配，使用=~操作符时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式，而不仅仅是一个字符串，比如[[ hello == hell? ]]，结果为真。[[ ]] 中匹配字符串或通配符，不需要引号。

 

3）使用[[ ... ]]条件判断结构，而不是[ ... ]，能够防[美国Linux服务器](https://www.mfisp.com/shop/usidc)止脚本中的许多逻辑错误。比如，&&、||、<和> 操作符能够正常存在于[[ ]]条件判断结构中，但是如果出现在[ ]结构中的话，会报错。

 

4）bash把双中括号中的表达式看作一个单独的元素，并返回一个退出状态码。

 

以上就是[美国Linux服务器](https://www.mfisp.com/shop/usidc)系统中括号( )和[ ]括号的作用的介绍，希望可以帮助到有需要的美国服务器用户。

 

现在[梦飞科技](https://www.mfisp.com)合作的[美国VM机房](https://www.mfisp.com/shop/usvmidc)的[美国Linux服务器](https://www.mfisp.com/shop/usidc)所有配置都免费赠送防御值 ，可以有效防护网站的安全，以下是部分配置介绍：

 

| CPU | 内存 | 硬盘 | 带宽 | IP | 价格 | 防御 |
|---|---|---|---|---|---|---|
| E3-1230v3 | 16GB | 500GB SSD | 1G无限流量 | 1个IP | 900/月 | 免费赠送1800Gbps DDoS防御 |
| E3-1270v2 | 32GB | 500GB SSD | 1G无限流量 | 1个IP | 1250/月 | 免费赠送1800Gbps DDoS防御 |
| E3-1275v5 | 32GB | 500GB SSD | 1G无限流量 | 1个IP | 1350/月 | 免费赠送1800Gbps DDoS防御 |
| Dual E5-2630L | 32GB | 500GB SSD | 1G无限流量 | 1个IP | 1450/月 | 免费赠送1800Gbps DDoS防御 |

   

[梦飞科技](https://www.mfisp.com)已与全球多个国家的顶级数据中心达成战略合作关系，为互联网外贸行业、金融行业、IOT行业、游戏行业、直播行业、电商行业等企业客户等提供一站式安全解决方案。持续关注[梦飞科技官网](https://www.mfisp.com)，获取更多IDC资讯！

 

![美国Linux服务器的系统权限](https://www.mfisp.com/wp-content/uploads/2022/01/2022011503162756.jpg)

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
