判断符号[]

shell中使用判断符号[ ]的注意事项

我只是一个虾纸丫 提交于 2019-12-16 14:50:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 大家都知道, 利用s hell中的test命令及判断符号[], 可以做以下事情: 1. 关于某个文件名的“文件类型 ”判断; 2. 关于文件的权限检测; 3. 两个文件之间的比较; 4. 关于两个整数之间的判定; 5. 判定字符串的数据; 6. 多重条件判定。 但是我最近在写脚本的时候,发现当没有定义AAA变量的时候, [ -z $AAA ]的结果居然是1。 经过学习发现,我这个脚本菜鸟中了判断符号[ ]的"埋伏 "。$AAA应该用双引号括起来。[ -z "$AAA" ]的结果才是正常的。 所以为了避免遇到奇怪的问题,在使用判断符号[ ]的时候要注意: - [ ]内的每个组件都需要有空格键来分隔; - [ ]内的变量,最好都以双引号括起来; - [ ]内的常量,最好都以双引号括起来 。 养成好习惯吧~ 来源: oschina 链接: https://my.oschina.net/u/812205/blog/80851