shell 括号的区别
$()
用于命令交换
里面会会执行命令,如果你写其他的:
会直接报错的
` `
也是用于命令交换的哦
和$() 的操作是一样的
${ }
用于变量替换
每次调用环境的时候是需要带一个${ } 但是不带也不会影响
这个定义了变量的范围,比较不容易出错
$[ ]
用于算术计算
里面出现的只有数字
但是你在里面输出其他非数字的就报错
$(())
效果和$[ ] 差不多,两个都是计算的
[ ]
条件表达式
为test命令的另一种形式,但要注意:
1.必须在左括号的右侧和右括号的左侧各加一个空格,否则会报错。
2.test命令使用标准的数学比较符号来表示字符串的比较,而用文本符号来表示数值的比较。
3.大于符号或小于符号必须要转义,否则会被理解成重定向。
[[ ]]
①[[ ]]是 bash 程序语言的关键字。并不是一个命令,[[ ]] 结构比[ ]结构更加通用。在[[和]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。
④bash把双中括号中的表达式看作一个单独的元素,并返回一个退出状态码。
(())
①整数扩展。这种扩展计算是整数型的计算,不支持浮点型。((exp))结构扩展并计算一个算术表达式的值,如果表达式的结果为0,那么返回的退出状态码为1,或者 是"假",而一个非零值的表达式所返回的退出状态码将为0,或者是"true"。若是逻辑判断,表达式exp为真则为1,假则为0。
④常用于算术运算比较,双括号中的变量可以不使用$符号前缀。括号内支持多个表达式用逗号分开。 只要括号中的表达式符合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 ]。
最新文章
- Oracle
- Spark RDD API详解(一) Map和Reduce
- smarty foreach循环
- [Architect] Abp 框架原理解析(3) DynamicFilters
- 微课程--Android--Android概述
- 用JS或jQuery访问页面内的iframe,兼容IE/FF
- shell复习笔记----查找与替换
- INFORMATION_SCHEMA.INNODB_TRX 详解
- java实现二叉树的相关操作
- js 获取昨天,今天,本周,上周,季度等时间范围(封装的js)
- Spring从认识到细化了解
- ARMCC和GCC编译ARM代码的软浮点和硬浮点问题 【转】
- Linux (OpenBSD)系统目录分析
- CF 1047 C. Enlarge GCD
- pm2-zabbix 安装与配置
- Python3 解决 &#39;utf-8&#39; codec can&#39;t decode byte 0x8b in position 1: invalid start byte
- Django 前后端不分离 代码结构详解
- dom对象转成jquery对象时候 变成数组 jquery转成dom时候 取数组第一个
- Day21-Cookie
- libiconv的注意项