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,默认情况下,每一行只替换第一次出现的内容,可使用模式、后向引用。
如果查找替换中的内容出现与分隔符一样的符号时,要使用转义符“\”,也可以不使用转义符,将分隔符换成别的符号就行
&:表示引用前面查找到的所有字符