bash下的单方括号和双方括号
2017-07-18 15:54
621 查看
bash下的单方括号和双方括号概念以及用法:
一、bash[ ] 单括号
[ ]两个符号左右都要有空格分隔
内部操作与操作变量之间要有空格: [ val−gt10]字符串比较,><要进行转义,>\<[]中字符串或者{}变量尽量使用”“双引号扩住,避免值未定义引用而出错。
[ ]中可以使用 -a -o进行逻辑运算
[ ]是bash的内置命令
下面列举几个单方括号的使用例子:
成功条件满足返回0,失败条件不满足返回1;
[]单括号可以用来做字符串测试,例如判断两个字符串是否相等;一个字符串是否为空,字符串不等,字符串的大小(注意要加转义字符\)
str1\str2 str1>str2
二、bash [[ ]] 双方括号
特点:
1、 [[ “ch”=”h” ]]内部操作符与操作变量之间要有空格
2、字符串比较中,可以直接使用> < 无需转义
3、 [[ ]]内部可以使用逻辑与 && 和逻辑或 ||
[ ]和[[ ]]都可以和!配合使用
优先级: ! > && > ||
逻辑运算符 < 关系运算符
关系运算符: < > \< > == != -eq -ne -gt -ge -lt -le
三、两者比较:
相对而言[[ ]]比[ ] 更好一些:
[[是bash程序的关键字,并不是一个命令,[[ ]]比[ ]更加通用,在[[ ]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。
支持字符串的模式匹配,使用=~操作时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串。
使用[[…]]条件判断结构,可以防止脚本中的许多逻辑错误。比如&&、||、<和>操作符可以正常存在于[[]]条件判断语句中,如果在单括号[]结构中会出现错误。
bash中把双括号中的表达式看做一个孤独的元素,并返回一个退出码状态。
一、bash[ ] 单括号
[ ]两个符号左右都要有空格分隔
内部操作与操作变量之间要有空格: [ val−gt10]字符串比较,><要进行转义,>\<[]中字符串或者{}变量尽量使用”“双引号扩住,避免值未定义引用而出错。
[ ]中可以使用 -a -o进行逻辑运算
[ ]是bash的内置命令
下面列举几个单方括号的使用例子:
成功条件满足返回0,失败条件不满足返回1;
[]单括号可以用来做字符串测试,例如判断两个字符串是否相等;一个字符串是否为空,字符串不等,字符串的大小(注意要加转义字符\)
str1\str2 str1>str2
二、bash [[ ]] 双方括号
特点:
1、 [[ “ch”=”h” ]]内部操作符与操作变量之间要有空格
2、字符串比较中,可以直接使用> < 无需转义
3、 [[ ]]内部可以使用逻辑与 && 和逻辑或 ||
[ ]和[[ ]]都可以和!配合使用
优先级: ! > && > ||
逻辑运算符 < 关系运算符
关系运算符: < > \< > == != -eq -ne -gt -ge -lt -le
三、两者比较:
相对而言[[ ]]比[ ] 更好一些:
[[是bash程序的关键字,并不是一个命令,[[ ]]比[ ]更加通用,在[[ ]]之间所有的字符都不会发生文件名扩展或者单词分割,但是会发生参数扩展和命令替换。
支持字符串的模式匹配,使用=~操作时甚至支持shell的正则表达式。字符串比较时可以把右边的作为一个模式,而不仅仅是一个字符串。
使用[[…]]条件判断结构,可以防止脚本中的许多逻辑错误。比如&&、||、<和>操作符可以正常存在于[[]]条件判断语句中,如果在单括号[]结构中会出现错误。
bash中把双括号中的表达式看做一个孤独的元素,并返回一个退出码状态。
相关文章推荐
- BASH命令和SHELL脚本总结(6)括号篇
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- BASH 中单括号和双括号
- 双方括号
- bash 括号(小括号,双小括号,中括号,双中括号,大括号)
- 【一通百通】Bash的单双括号建议:多用[[]], 少用[]
- Bash中的括号(一)
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- bash 括号(小括号,双小括号,中括号,双中括号,大括号)
- bash 括号(小括号,双小括号,中括号,双中括号,大括号)
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- bash中的括号
- Bash Shell 里的各种括号
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- bash 中的括号
- Bash Shell 里的各种括号
- linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别
- bash中的括号
- Linux_Bash脚本_单引号’双引号“”反引号`小括号()中括号[]大括号{}
- 第3章 shell结构化命令------------( 双方括号命令及操作实例、case命令)