https://blog.csdn.net/TomAndersen/article/details/104214632
https://www.lxlinux.net/570.html
https://zhuanlan.zhihu.com/p/76575214
目录
括号
各种类型的括号
-
${}
定义变量的边界
https://blog.csdn.net/qq_43382735/article/details/121606145 -
(())变量的数值运算
https://www.cnblogs.com/scajy/p/12762505.html -
$() 和 ${} 的区别
https://blog.csdn.net/itworld123/article/details/125447252
1)注意,如果$()里执行cmd报错了,var=$(cmd),var变量会为空,必须var=$(cmd 2>&1),把错误输出定向到标准输出。
- []与[[]]]的区别
https://zhuanlan.zhihu.com/p/76575214
在[]里使用grep -E进行正则匹配会报错:需要一元表达式
,使用[[]]正常。
括号相关错误整理
- -bash: [: ==: 期待一元表达式 解决方法
https://blog.csdn.net/qq_23251505/article/details/125659269- 当 if 语句中使用 [ ] 条件修饰符时, $flag 变量必须加上引号。
- 当 if 语句中使用 [[]] 条件修饰符时,$flag 变量的引号可有可无。
引号
- 单引号与双引号的区别
https://www.51cto.com/article/685657.html
单引号
用单引号 ' ' 括起来的字符会保留引号内每个字符的字面值
简而言之,shell 将逐字解释单引号内的封闭文本,并且不会插入任何内容,包括变量、反引号、某些 \ 转义符等
单引号中的任何字符都没有特殊含义, 当你不想使用转义字符来更改 shell 脚本解释输入字符串参数方式时,就会很方便
双引号
双引号类似于单引号,只是它允许 shell 解释美元符号 ( $ )、反引号 ( ` )、反斜杠 ( \ ) 和感叹号 ( ! ), 这些字符与双引号一起使用时具有特殊含义,并且在显示之前对其进行评估
双引号可以通过在双引号前加上反斜杠来使用其自身
复杂逻辑判断
https://blog.csdn.net/xiaojin21cen/article/details/124015943
0 条评论