第5章 shell輸入與輸出

2021-08-20 02:33:54 字數 1639 閱讀 3182

shell 輸入和輸出有兩個 1 鍵盤/螢幕 2檔案  預設是鍵盤/螢幕

關於echo  在linux系統中 我們必須加引數-n  來使得echo 不換行  -e 來使轉義生效  但是\n \c這種還是可以生效的

可以使用read語句從鍵盤或檔案的某一行文字中讀入資訊,並將其賦給乙個變數

如果只有乙個變數的話 read 會獲取在結束符或者回車之前的所有字串  如果有多個的話會以空格分割變數

c a t是乙個簡單而通用的命令,可以用它來顯示檔案內容,建立檔案,還可以用它來顯示控制字元。在使用c a t命令時要注意,它不會在檔案分頁符處停下來;它會一下顯示完整個檔案,如果要使用分頁 我們需要使用管道命令 比如 more 

cat myfile | more  

可以通過管道把乙個命令的輸出傳遞給另乙個命令作為輸入。管道用豎槓|表示。它的一般形式為:

命令1 |命令2

tee命令作用可以用字母t來形象地表示。它把輸出的乙個副本輸送到標準輸出,另乙個副本拷貝到相應的檔案中

它的一般形式為:

tee -a files

其中,- a表示追加到檔案末尾。

當我們在s h e l l中執行命令的時候,每個程序都和三個開啟的檔案相聯絡,並使用檔案描述符來引用這些檔案。由於檔案描述符不容易記憶, s h e l l同時也給出了相應的檔名。下面就是這些檔案描述符及它們通常所對應的檔名:

檔案檔案描述符

輸入檔案—標準輸入0

輸出檔案—標準輸出1

錯誤輸出檔案—標準錯誤2

系統中實際上有1 2個檔案描述符,但是正如我們在上表中所看到的, 0、1、2是標準輸入、輸出和錯誤。可以任意使用檔案描述符3到9。

在執行命令時,可以指定命令的標準輸入、輸出和錯誤,要實現這一點就需要使用檔案重定向。列出了最常用的重定向組合,並給出了相應的檔案描述符。在對標準錯誤進行重定向時,必須要使用檔案描述符,但是對於標準輸入和輸出來說,

這不是必需的。

command > filename 把把標準輸出重定向到乙個新檔案中

command >> filename 把把標準輸出重定向到乙個檔案中(追加)

command 1 > fielname 把把標準輸出重定向到乙個檔案中

command > filename 2>&1 把把標準輸出和標準錯誤一起重定向到乙個檔案中

command 2 > filename 把把標準錯誤重定向到乙個檔案中

command 2 >> filename 把把標準輸出重定向到乙個檔案中(追加)

command >> filename 2>&1 把把標準輸出和標準錯誤一起重定向到乙個檔案中(追加)

command < filename >filename2 把c o m m a n d命令以f i l e n a m e檔案作為標準輸入,以f i l e n a m e 2檔案

作為標準輸出

command < filename 把c o m m a n d命令以f i l e n a m e檔案作為標準輸入

command << delimiter 把從標準輸入中讀入,直至遇到d e l i m i t e r分界符

command <&m 把把檔案描述符m作為標準輸入

command >&m 把把標準輸出重定向到檔案描述符m中

command <&- 把關閉標準輸入

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 ...

第3章 輸入與輸出 筆記五

第3章 輸入與輸出 實驗3.1 基本輸入與輸出實驗 題目 2 從鍵盤任意輸入乙個整數 乙個實數 乙個複數 乙個邏輯值和乙個字串,每乙個資料各佔一行,按照20位輸出,對齊方式分別為左對齊 居中 右對齊 居中 左對齊 a,b,c,d,e eval input 請依次輸入整數 實數 複數 邏輯值 字串 p...

第3章 輸入與輸出 筆記六

第3章 輸入與輸出 實驗3.2 檔案讀寫實驗 題目 1 從鍵盤任意輸入1個字串 2個邏輯值 3個複數 4個實數和5個整數,每一類資料各佔一行輸出,同時按照5行寫入文字檔案exp030201.txt。最後,讀取並顯示文字檔案exp030201.txt的內容 fin open c users lenov...