在写脚本的时候,总是搞不懂[] [[]]的区别这次写一个总结,把它掌握牢固
- 变量的值為空,返回0为true
- 变量的值,非空返回1,为false
-n 判断变量的值是否为空 name = 名字
- 变量的值,为空返回1,为false
- 变量的值非空,返回0为true
[ -n "$pid" ] 单对中括號,变量必须要加双引号
2、多个条件判断[] 和 [[]] 的区别?
2.1:[[ ]] 双对中括号是不能使用 -a 或者 -o的参数进行比较的;
&& 必须两个条件同时满足,和上述一样这里想说明的问题的是:
-a 和 -o就不成立了,是因为[[]] 双对中括号,不能使用 -o和 -a的参数
2.2 [ ] 可以使用 -a -o的参数但是必须在 [ ] 中括号内,判断條件例如:
如果想在中括号外判断两个条件,必须用&& 和 || 比较
相对的|| 和 && 不能在中括号内使用,只能在中括号外使用
3、当判断某个变量的徝是否满足正则表达式的时候必须使用[[ ]] 双对中括号
单对中括号,直接报错:
发布了5 篇原创文章 · 获赞 9 · 访问量 6万+