2案例2:重定向輸出的應用
2.1問題
本例要求編寫一個腳本/root/out.sh,功能特性如下:
- 執行此腳本顯示I love study !!
- 執行/root/out.sh 2> err.log 應該沒有顯示,但是看查看 err.log文件的內容爲 I love study !!
2.2方案
屏幕輸出文本的類別:
- 標準輸出(1):命令行執行正常的顯示結果
- 標準錯誤(2):命令執行出錯或異常時的顯示結果
將屏幕顯示信息保存到文件: - cmd > file、cmd >> file
- cmd 2> file、cmd 2 >> file
- cmd &> file、cmd 2> file 1 > &2
使用1>&2或>&2操作,可以將命令行的標準輸出變成標準錯誤
2.3步驟
實現此案例需要按照如下步驟進行。
步驟一:編寫out.sh輸出測試腳本
1)編寫腳本代碼
[root@server0 ~]# vim /root/out.sh
#!/bin/bash
echo "I love study !!" >&2
2)添加x執行權限
[root@server0 ~]# chmod +x /root/out.sh
3)運行腳本測試
[root@server0 ~]# /root/out.sh
I love study !!
[root@server0 ~]# /root/out.sh 2> err.log
[root@server0 ~]# cat err.log
I love study !!