在shell中,可以用幾種不同的方式讀入資料,如可使用標準輸入《預設為鍵盤》;或者指定乙個檔案作為輸入輸出也是一樣,當不指定某個檔案作為輸出,標準輸出總是和終端螢幕相關聯,該章主要講解shell中的輸入與輸出。
一、輸入
shell中的輸入,常採用read
◆ 一般形式:read 變數1 變數2 ...
◆ 例子:
# read vari_1 vari_2
abc 123 456
# echo $vari_1
abc# echo $vari_2
123 456
二、輸出
1、echo
◆ 一般形式: echo -option string
◆ 常用引數:
\c 不換行(預設)
\f 進紙
\t 跳格
\n 換行
\e 使轉義字元生效
\e 使轉義字元失效(預設)
◆ 例子:
# echo -e "ss\n"
ss#
2、cat
◆ 說明:用於顯示檔案內容、建立檔案、顯示控制字元
顯示檔案內容時,一次行將內容系顯示完全,要分頁或分屏檢視可與more,less等組合使用
◆ 例子:
a、檢視檔案內容
#cat /etc/passwd | more 《按enter翻頁》
#cat -n /etc/group | less 《按enter或方向鍵翻頁,按ctrl+z結束》 顯示內容時,同時顯示行號
#cat a.txt b.txt
b、建立新檔案,並輸入內容
#cat > group.txt 此時,從鍵盤輸入內容,並按ctrl-d即可結束輸入
c、cat還有乙個很實用的功能,顯示控制字元
#cat -v a.sh
hello^m <^m就是控制字元》
當我們在windows上編寫好指令碼後上傳至linux後,語法沒錯誤,但執行時,總報錯,此時可能就是引入控制字元所致
我們可以通過該功能檢視,如帶^m,我們可以同ue的轉換功能,將dos轉換為unix格式,再執行
3、管道 |
◆ 說明:可以管道將乙個命令的輸出傳遞給下乙個命令作為輸入,可理解為資訊的傳輸,從這一端傳遞給另一端
◆ 形式:命令1 | 命令2
◆ 例子:
# 顯示當前的登入使用者及ip
# who | awk ''
root (10.70.151.79)
oralce (10.71.149.54)
4、tee
◆ 說明:可以用字母t來形象的表示,它將輸出的乙個副本輸送到標準輸出,另乙個副本拷貝到相應的檔案中
也就是當你想看到輸出的同時,也想將其存入到檔案中,此命令非常適合
◆ 形式: tee -a file <-a 表示追加到檔案末尾》
◆ 例子:
# pwd | tee path
/root
# cat path
/root
三、檔案重定向
1、標準輸入、輸出和錯誤
當我們在shell中執行命令時,每個程序都和三個開啟的檔案相聯絡,並使用檔案描述符來引用這些檔案 檔案
檔案描述符
預設輸入檔案 --- 標準輸入0鍵盤
輸出檔案 --- 標準輸出1螢幕
錯誤輸出檔案 --- 標準錯誤2螢幕
2、檔案重定向
2.1、重定向標準輸出
◆ 格式:command > file ; command >> file
◆ 例子:
#cat /etc/group | awk -f: '' | sort 1> sort_out 或
#cat /etc/group | awk -f: '' | sort > sort_out
#who >> who.txt
◆ 備註:
>:表示覆蓋寫入
>>:表示追加寫入
2.2 、重定向標準輸入
◆ 格式:command < file ; command << delimiter ("此處"文件)
◆ 例子:
# sort < sort.txt
# sort < sort.txt > result.txt #將sort.txt進行排序並將結果儲存到result.txt檔案中
# sort >> result <>result #將從鍵盤輸入的字元進行排序,並將排序後的結果儲存到result檔案中
> a
> c
> b
> f
> e
> 1
> 3
> 2
> jiedingfu
# cat result 12
3abc
ef
◆ 備註:
上面這個例子,界定符可以根據個人喜好任意設定,此處為jiedingfu
2.3、重定向標準錯誤
◆ 例子:
cat exist_file not_exist_file 1>ok_file 2>error_file ,執行結果如下:
在該目錄下生成ok_file ; error_file兩個檔案
ok_file :記錄exist_file檔案中內容
error_file :記錄錯誤資訊"cat: not_exist_file: no such file or directory"
2.4、合併標準輸出和標準錯誤 2>&1
◆ 例子:
cat exist_file not_exist_file >ok_file 2>&1,執行結果:
標準輸出和標準錯誤均記錄到ok_file檔案中
shell中的輸入與輸出
shell中,有著三個標準檔案描述符。0代表標準輸入,1代表標準輸出,2代表標準錯誤 管道的功能是 將一條命令的返回值,作為另一條命令的引數 command1 command2 command3echo abc123 一般情況下直接列印 echo let s go 字串裡單引號,則用雙引號包裹 ec...
shell 輸入與輸出
一 echo 一般形式 echo string 常用命令 c 不換行 注 在linux 下必須使用 n 例如 echo e n what is your name c read name f 進紙 t 跳格 n 換行在 linux 下,使用 e 才能使轉移字元生效 如 1.echo e hello ...
shell的輸入與輸出
echo string echo命令輸出轉義符以及變數,如 home,並且可以讓系統執行tty命令 echo 007your home dictionary is home you are connected on tty c不換行 在linux中要使用 n來禁止換行 echo n f進紙 t跳格 ...