shell自学笔记
文章目錄
- 重定向
- 數值比較
- 邏輯操作符使用范圍
- 關于文件判斷
- 測試表達式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 |
邏輯操作符使用范圍
| -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 [] [[]] (())的區別
| 邊界是否需要空格 | 需要 | 需要 | 需要 | 不需要 |
| 邏輯操作符 | !,-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
總結
- 上一篇: Mac Redis安装入门教程
- 下一篇: python3安装教程配置配置阿里云