Shell Notes(1)
> vi復(fù)制粘貼
光標(biāo)移動到要復(fù)制的部分的開頭,Esc退出插入模式,按v進入Visual模式,用hjkl選中要復(fù)制的部分
按Y或者yy,復(fù)制
移動光標(biāo)到目標(biāo)位置,按p,粘貼
> echo –e
參數(shù) –e 可以使echo解釋由反斜杠“\”轉(zhuǎn)義的字符,轉(zhuǎn)義字符一定要由雙引號引起來
echo –E
與-e相反,禁止對轉(zhuǎn)義字符“\”的解釋,默認(rèn)如此
> echo –n
禁止換行符終止消息
> script=$(basename $0)
這是替換的命令。可以理解為script=$basename,然后用的時候,將$basename替換為$0
> $#
參數(shù)個數(shù),不含腳本名自身。
eg. vi $#是0; vi test $#是1
> $$
腳本運行時的進程編號PID
> $?
運行一條指令后,用$?捕捉指令執(zhí)行返回狀態(tài)
> $0,$1,$2。。。
$0是腳本文件名,$1,$2為腳本運行時輸入的參數(shù),一次編號
> shift
腳本參數(shù)$1,$2,$3...維護成一個隊列,使用一次shift后,$1從隊列中移出,之后,$2-->$1, $3-->$2 ...
> $*
表示參數(shù)的列表,不含$0,即腳本文件名
for argv in $* 可以用來遍歷列表中的參數(shù),也可以直接用簡寫 for argv 來表示
> Here 文檔
以 << 開頭,表示后面緊跟的是一個Here文檔。<< 后面跟著一組成對的mark,mark中間的內(nèi)容是Here文檔的內(nèi)容。mark可以是一個或多個符號。結(jié)尾的mark必須獨占一行。
shell 將mark之間的所有內(nèi)容當(dāng)做標(biāo)準(zhǔn)輸入發(fā)送給進程。
eg.
cat >file1 <<'End of file1'
This is a file.
It contains two lines.
End of file1
> 1>&2
一般加在echo命令后面,將本條輸出重定向到標(biāo)準(zhǔn)錯誤輸出
> 文件描述符
exec n> outfile 打開一個輸出文件outfile,并賦值給n;之后,向outfile寫數(shù)據(jù),直接將輸出指向n即可
exec m< infile 打開一個輸入文件infile,并復(fù)制給m;之后,從infile讀數(shù)據(jù),直接用m來讀就可以了。
<& 復(fù)制一個輸入文件描述符
>& 復(fù)制一個輸出文件描述符
> 左算子是文件描述符,右算子是文件; >& 左右算子都是文件描述符。
特例: >&n 將標(biāo)準(zhǔn)輸出1賦值(即重定向到)n
??????????? <&m 將標(biāo)準(zhǔn)輸入0賦值(即重定向到)m
eg.
圖1 文件描述符舉例。
如果沒有參數(shù),則將標(biāo)準(zhǔn)輸入復(fù)制到標(biāo)準(zhǔn)輸出;1個參數(shù),將該文件作為輸入,內(nèi)容輸出到屏幕(標(biāo)準(zhǔn)輸出);2個參數(shù),第一個作為輸入,第二個作為輸出,即將文件1拷貝到文件2中。
> 刪除
刪除一個字符 x
刪除當(dāng)前一行 dd
刪除光標(biāo)之后單詞剩余部分 dw
刪除光變之后改行剩余部分 d$
轉(zhuǎn)載于:https://www.cnblogs.com/YFYkuner/archive/2012/08/26/2657442.html
總結(jié)
以上是生活随笔為你收集整理的Shell Notes(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易公开课
- 下一篇: HDU 1042 N!(高精度计算阶乘)