(轉載)shell輸入、輸出

1、echo:

使用e c h o命令可以顯示文本行或變量,或者把字符串輸入到文件。它的一般形式爲:

echo string

echo命令有很多功能,其中最常用的是下面幾個:

\c 不換行。

\f 進紙。

\t 跳格。

\n 換行。

用反斜槓\來使shell忽略它的特殊含義

使用- n選項來禁止echo命令輸出後換行

使用-e選項才能使轉義符生效

【轉義字符是C語言中表示字符的一種特殊形式。通常使用轉義字符表示ASCII碼字符集中不可打印的控制字符和特定功能的字符,如用於表示字符常量的單撇號( '),用於表示字符串常量的雙撇號( ")和反斜槓( \)等。轉義字符用反斜槓\後面跟一個字符或一個八進制或十六進制數表示。

轉義字符 意義 ASCII碼值(十進制)

\a 響鈴(BEL) 007

\b 退格(BS) 008

\f 換頁(FF) 012

\n 換行(LF) 010

\r 回車(CR) 013

\t 水平製表(HT) 009

\v 垂直製表(VT) 011

\\ 反斜槓 092

\? 問號字符 063

\' 單引號字符 039

\" 雙引號字符 034

\0 空字符(NULL) 000

\ddd 任意字符 三位八進制

\xhh 任意字符 二位十六進制】

如果想把一個字符串輸出到文件中,使用重定向符號>。在下面的例子中一個字符串被重

定向到一個名爲m y f i l e的文件中:

$ echo "The log files have all been done"> myfile

或者可以追加到一個文件的末尾,這意味着不覆蓋原有的內容:

$ echo "$LOGNAME carried them out at `date`">>myfile

2、read:

可以使用r e a d語句從鍵盤或文件的某一行文本中讀入信息,並將其賦給一個變量。如果只指定了一個變量,那麼r e a d將會把所有的輸入賦給該變量,對於多個變量,空格分割,如果輸入文本域過長, Shell 將所有的超長部分賦予最後一個變量。

3、cat:

如果希望創建一個新文件,並向其中輸入一些內容,只需使用c a t命令把標準輸出重定向到該文件中。輸入一些文字,輸入完畢後按< CTRL-D >結束輸入。這是個非常簡單的文字編輯器!

4、管道:

可以通過管道把一個命令的輸出傳遞給另一個命令作爲輸入。管道用豎槓|表示。

5、標準輸入、輸出和錯誤:

當我們在shell中執行命令的時候,每個進程都和三個打開的文件相聯繫,並使用文件描

述符來引用這些文件。

文件——文件描述符

輸入文件:標準輸入——0

輸出文件:標準輸出——1

錯誤輸出文件:標準錯誤——2

6、文件重定向:

(1)常用的文件重定向命令

command > filename 把把標準輸出重定向到一個新文件中

command >> filename 把把標準輸出重定向到一個文件中(追加)

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

command < filename >filename2 把command命令以filename文件作爲標準輸入,以filename 2文件作爲標準輸出

command < filename 把command命令以filename文件作爲標準輸入

command << delimiter 把從標準輸入中讀入,直至遇到delimiter分界符

command <&m 把把文件描述符m作爲標準輸入

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

command <&- 把關閉標準輸入

(2)重定向標準輸出:

$ls amount*  >>  files所有的目錄名和以account開頭的文件名都被寫入到file.out文件中。

(3)一個快速發現錯誤的方法就是,先將輸出重定向到一個文件中,然後再把標準錯誤重定向到另外一個文件中。

$ cat account_qtr.doc account_end.doc 1>accounts.out 2>accounts.err

現在如果出現了錯誤,相應的錯誤將會保存在accounts.err文件中。

(4)合併標準輸出和標準錯誤:

$ cleanup >cleanup.out 2>&1

在上面的例子中,我們將cleanup腳本的輸出重定向到cleanup.out文件中,而且其錯誤也被重定向到相同的文件中。

7、exec:

exec命令可以用來替代當前shell;換句話說,並沒有啓動子shell。使用這一命令時任何現有環境都將會被清除,並重新啓動一個shell。

 

 My log:

1 imp test1/test1@cadb file='/home/upitics/dmp_file/emp.dmp' full=y > ./log/emp.log 2>&1 

  發生warning的時候,要加上2>&1才能輸出到文件

發佈了0 篇原創文章 · 獲贊 0 · 訪問量 1427
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章