bash中的算數運算
如何實作算數運算
想要實作算數運算,要使用特殊符号或指令,有以下幾種方式:
1、let 變量=算術表達式
2、變量=$[算數表達式]
3、變量=$((算數表達式))
4、變量=$(expr arg1,arg2,arg3.....)
算數表達式的常用符号
普通符号:=,-,+,,/
增強型指派:=,/=,%=,+=,-=
自加和自減運算:++,--
bash的條件測試
測試表達式寫法
1、test 測試表達式
2、[ 測試表達式 ]
3[ [ 測試表達式 ] ]
bash測試表達式測試類型
1、數值測試的特殊符号
-gt:表示左數是否大于右數
-ge:表示左數是否大于等于右數
-eq:表示左數是否等于右數
-ne:表示左數是否不等于右數
-lt:表示左數是否小于右數
-te:表示左數是否等于右數
2、字元串測試的特殊符号
==:表示等值測試
>:表示左數是否大于右數
<:表示左數是否小于右數
!=:表示左數是否不等于右數
=~:表示左側字元串是否能夠被右側的模式所比對到
-z:測試字元串是否為空
-n:測試字元串是否不空
bash中的自定義退出狀态碼
exit [n]:腳本中一旦遇到exit指令,腳本都會立即終止,不在運作,退出狀态碼取決于exit指令後面的數字
vim編輯器
vim編輯器是vi編輯器的加強版,vi和vim是兩個獨立的應用程式檔案。
但在centos上他們兩個确是同一個應用程式,不過在有些嵌入式環境中,vi是不支援vim功能的。
不是所有發行版vi,vim都同時提供的,但是vi和vim的基本功能都是一樣的
vim打開時預設處于編輯模式
vim的基本使用
在不同模式下每一個基建動作表示的意義是不盡相同的
vim的基本模式
編輯模式或指令模式:表示對檔案進行剪切,複制,粘貼之類的操作
輸入模式或插入模式:表示向文本中插入内容
末行模式:指的是vim編輯器内置的指令行接口
如何使用vim打開檔案
vim [選項] ……檔案……
vim的基本常用選項
+#:打開檔案後,直接讓光标處于第#行的行首
+/模式:打開檔案以後,直接讓光标處于第一個被模式比對到的行的行首
+:打開檔案以後,光标直接處于檔案尾部
vim模式的轉換
編輯模式-->輸入模式
隻需要輸入模式轉換指令即可:
i:在光标所在處前面插入輸入内容,并轉換為輸入模式
a:在光标所在處的後面執行輸入模式
o:表示在光标所在行的下方打開一個新行,并轉換為輸入模式
I:在光标所在行的行首輸入,并轉換為輸入模式
A:在光标所在處行的行尾輸入,并轉換為輸入模式
O:表示在光标所在行的上方打開一個新行,并轉換為輸入模式
輸入模式-->編輯模式
隻需要建入EXC建即可
編輯模式-->末行模式
直接輸入“:”即可
末行模式-->編輯模式
建入EXC即可
輸入模式-->末行模式
它兩不能直接進行,隻能從輸入模式進入編輯模式,再從編輯模式進入末行模式
關閉檔案
在末行模式下關閉:
q:退出
q!:表示強制退出,丢棄做出的修改
wq:儲存退出
x:儲存退出
w 檔案路徑:表示把目前文本的所有文本内容儲存到你所指定的路徑中去
在編輯模式退出:
ZZ:儲存退出
如何在vim中實作光标跳轉
字元間跳轉:
h:向左跳一個字元
l:向右跳一個字元
j:向下跳一個字元
k:向上跳一個字元
單詞間跳轉:
w:下一個單詞的詞首
e:目前或下一個單詞的詞尾
b:目前或前一個單詞的詞首
行首行尾跳轉:
^:跳轉到行首的第一個非空白字元
0:跳轉至行首;這是絕對行首
$:跳轉至行尾,這是絕對行尾
行間移動:
#G:跳轉至由#指定的行
G:跳轉至最後一行
1G或gg:跳轉至第一行
句間移動:
):跳轉至下一個句子
(:跳轉至前一個句子
段落間移動:
}:跳轉至下一段
{:跳轉至上一段
vim的編輯指令
1、字元編輯
x:删除光标處的字元
#x:删除光标處起始的第#個字元
xp:交換光标所在處的字元及其後面字元的位置
2、删除指令
d:删除指令,可結合光标跳轉字元使用
3、粘貼指令
p(小寫):緩沖區中存儲的如果為整行,則粘貼目前光标所在行的下方,如果不是整行,則粘貼光标所在處的後面
P(大寫):緩沖區中存儲的如果為整行,則粘貼目前光标所在行的上方,如果不是整行,則粘貼光标所在處的前面
4、複制指令
y:複制
5、改變指令
c:主要作用在于某些類的修改操作,并且在執行以後就從編輯模式轉入輸入模式
6、替換指令
r:替換光标所在處的字元
可視化模式
v(小寫):按字元標明
V(大寫):按行標明
撤銷此前的操作:u
撤銷此前的撤銷:ctrl+r
重複前一個編輯操作:.
翻屏操作
ctrl+f:向檔案尾部翻一屏
ctrl+b:向檔案首部翻一屏
ctrl+d:向檔案尾部翻半屏
ctrl+u:向檔案首部翻半屏
vim中的末行模式
1、位址定界
在實作文本操作和編輯時可以在這直接指定哪些範圍内的文本資訊
書寫方式:
起始位置,結束位置
例:
#:表示具體的第幾行
#,#:從左側#表示行開始,到右側#表示行結束
#,+#:表示從第#行開始,加上#行進行操作,作用對象一共有1+#行
在#的表示方式中,有幾個特殊符号:
.:表示目前行
$:最後一行
%:全文,相當于1,$
#還能做減法操作
.,$-1:表示從目前行開始到倒數第二行
還能使用模式
/模式1/,/模式2/
表示從第一次被模式1比對到的行開始,到第一次被模式2比對到的行結束
模式還可以和#使用:
5,/模式/
/模式/,$
修飾符:
i:表示查找時忽略大小寫
g:表示全局替換
注意:如果不使用g,預設情況下,每一行隻替換第一次出現的内容,可使用模式、後向引用。
如果查找替換中的内容出現與分隔符一樣的符号時,要使用轉義符“\”,也可以不使用轉義符,将分隔符換成别的符号就行
&:表示引用前面查找到的所有字元