Shell Notes(1)

來源:互聯網
上載者:User

> vi複製粘貼

游標移動到要複製的部分的開頭,Esc退出插入模式,按v進入Visual模式,用hjkl選中要複製的部分

按Y或者yy,複製

移動游標到目標位置,按p,粘貼

> echo –e

參數 –e 可以使echo解釋由反斜線“\”轉義的字元,逸出字元一定要由雙引號引起來

echo –E

與-e相反,禁止對逸出字元“\”的解釋,預設如此

> echo –n

禁止分行符號終止訊息

> script=$(basename $0)

這是替換的命令。可以理解為script=$basename,然後用的時候,將$basename替換為$0

> $#

參數個數,不含指令碼名自身。

eg. vi $#是0; vi test $#是1

> $$

指令碼運行時的進程編號PID

> $?

運行一條指令後,用$?捕捉指令執行返回狀態

> $0,$1,$2。。。

$0是指令檔名,$1,$2為指令碼運行時輸入的參數,一次編號

> shift

指令碼參數$1,$2,$3...維護成一個隊列,使用一次shift後,$1從隊列中移出,之後,$2-->$1, $3-->$2 ...

> $*

表示參數的列表,不含$0,即指令檔名

for argv in $* 可以用來遍曆列表中的參數,也可以直接用簡寫 for argv 來表示

> Here 文檔

以 << 開頭,表示後面緊跟的是一個Here文檔。<< 後面跟著一組成對的mark,mark中間的內容是Here文檔的內容。mark可以是一個或多個符號。結尾的mark必須獨佔一行。

shell 將mark之間的所有內容當做標準輸入發送給進程。

eg.

cat >file1 <<'End of file1'
This is a file.
It contains two lines.
End of file1

> 1>&2

一般加在echo命令後面,將本條輸出重新導向到標準錯誤輸出

> 檔案描述符

exec n> outfile 開啟一個輸出檔案outfile,並賦值給n;之後,向outfile寫資料,直接將輸出指向n即可

exec m< infile 開啟一個輸入檔案infile,並複製給m;之後,從infile讀資料,直接用m來讀就可以了。

<& 複製一個輸入檔案描述符

>& 複製一個輸出檔案描述符

> 左運算元是檔案描述符,右運算元是檔案; >& 左右運算元都是檔案描述符。

特例: >&n 將標準輸出1賦值(即重新導向到)n

            <&m 將標準輸入0賦值(即重新導向到)m

eg.

圖1 檔案描述符舉例。

如果沒有參數,則將標準輸入複製到標準輸出;1個參數,將該檔案作為輸入,內容輸出到螢幕(標準輸出);2個參數,第一個作為輸入,第二個作為輸出,即將檔案1拷貝到檔案2中。

> 刪除

刪除一個字元 x

刪除當前一行 dd

刪除游標之後單詞剩餘部分 dw

刪除光變之後改行剩餘部分 d$

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.