1. 程式人生 > >重定向,常用轉義字符

重定向,常用轉義字符

嵌套 覆蓋 echo block 控制 常用 停止 amp posix

1.重定向
輸出重定向:命令 -->文件:命令到文件
$命令 > 文件 :將命令執行的正確結果以文本形式覆蓋到指定文件中;
$命令 >> 文件 :將命令執行的正確結果以文本形式追加到指定文件中;
$命令 2> 文件 :將命令執行的錯誤結果以文本形式覆蓋到指定文件中;
$命令 2>> 文件 :將命令執行的錯誤結果以文本形式追加到指定文件中;
$命令 &>> 文件 :將正確(標準)輸出與錯誤輸出一起追加到指定文件中;
輸入重定向:命令 <-- 文件 :文件到命令
$命令 < 文件 : 將文件的內容作為命令的標準輸入;
$命令 << 分界符 :表示輸入遇到分界符(字符/符號)停止;

:表示輸入; >>表示結束輸入;
例:$ cat >ss.txt << eof : 從控制臺輸入字符串,當輸入"eof"時結束輸入,並把內容保存(覆蓋)到文件ss.txt中。
$wc -l < /etc/passwd :將/etc/passwd的內容作為標準輸入,並用wc命令統計該內容的行數。
總:
命令 <文件1> 文件2 : 將文件1中的內容作為命令的輸入,將其執行結果 標準輸出(覆蓋)到文件2中。
2.常用轉義字符
反斜杠(\):使反斜杠後面的一個“變量”變為單純的字符串。

單引號(‘‘):轉義其中的變量和特殊字符,成為單純的字符串。變量=‘命令‘
雙引號(""):保留其中的變量屬性,不進行轉義處理。忽略大多數字符,但$,\,,這三種特殊字符不會被忽略。<br/>反引號(``):把其中的‘命令‘執行後返回結果,命令`=$(命令),執行結果相同,但$(命令)格式受到POSIX標準支持,也利於嵌套。
其他:
*單引號,雙引號都可以解決中間的空格問題。

  • $ :參數替換; ``:命令替換;
  • 反引號(命令=$(命令))執行:在執行一條命令時,會先將其中的`,或$()中的語句當做命令先執行一遍,再將結果加入到原命令中重新執行。<br/>例如:echo
    ls`
    會先執行ls命令得到的結果,再替換原命令為:echo 結果,最後執行的結果為‘結果*‘

重定向,常用轉義字符