文章目录
- 重定向
- 数值比较
- 逻辑操作符使用范围
- 关于文件判断
- 测试表达式test [] [[]] (())的区别
- sed教程
- AWK教程
重定向
0表示标准输入
1表示标准输出
2表示标准错误输出
默认为标准输出重定向,与 1> 相同
2>&1 意思是把 标准错误输出 重定向到 标准输出.
&>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中
数值比较
-eq | 判断相等,相等返回true,否则返回false |
-ne | 判断是否不相等,不相等返回true,否则返回false |
-gt | 判断左边是否大于右边的值,大于则返回true,否则返回false |
-lt | 判断左边是否小于右边的值,小于则返回true,否则返回false |
-ge | 判断左边是否大于或等于右边的值,大于则返回true,否则返回false |
-le | 判断左边是否小于右边的值,小于则返回true,否则返回false |
逻辑操作符使用范围
[]和test | [][]和(()) | 说明 |
---|---|---|
-a | && | and |
-o | ‘\\’ | or |
! | ! | not |
关于文件判断
逻辑符号 | 代表意义 | 应用 | 说明 |
---|---|---|---|
-f | 判断文件是否存在 | -f filename | 当filename 存在并且是正规文件时返回真 |
-d | 判断目录是否存在 | -d pathname | 当pathname 存在并且是一个目录时返回真 |
-b | 判断是否为一个【block档案】 | -b filename | 当filename 存在并且是块文件时返回真(返回0) |
-c | 判断是否为一个[character档案] | -c filename | 当filename 存在并且是字符文件时返回真 |
-S | 判断是否为一个[socket 标签档案] | -S filename | 当filename 存在并且是socket 时返回真 |
-L | 判断是否为一个[symbolic link 的档案] | -L filename | 当filename 存在并且是符号链接文件时返回真 |
-e | 判断【某个东西】是否存在 | -e pathname | 当由pathname 指定的文件或目录存在时返回真 |
测试表达式test [] [[]] (())的区别
测试表达式符号 | [] | test | [[]] | (()) |
---|---|---|---|---|
边界是否需要空格 | 需要 | 需要 | 需要 | 不需要 |
逻辑操作符 | !,-a,-o | !,-a,-o | !,&&,或运算符 | !,&&,或运算符 |
整数比较操作符 | -eq, -gt, -lt, -ge, -le | -eq, -gt, -lt, -ge, -le | -eq, -gt, -lt, -ge, -le或 =, > ,< ,>=,<= | =, > ,< ,>=,<= |
字符串比较操作符 | =,==,!= | =, ==,!= | =, ==,!= | =, ==,!= |
是否支持通配符匹配 | 不支持 | 不支持 | 支持 | 不支持 |
sed教程
https://coolshell.cn/articles/9104.html
AWK教程
https://awk.readthedocs.io/en/latest/chapter-one.html
https://coolshell.cn/articles/9070.html