您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
马哥linux运维学习笔记-bash脚本编程之六 使用脚本选项及组合条件测试
发布时间:2018-07-01 19:48:17编辑:雪饮阅读()
跨文件复制
vim中yy命令所复制的内容可以跨文件粘贴,但必须同样是在vim中操作
vim打开多文件
vim打开多个文件用只需要给vim命令传多个文件名即可,命令执行后只会默认打开第一个文件,在末行模式下用next可以切换到下个文件prev回到上个文件
vim单文件多视图:
ctrl+w松开然后按s:水平拆分窗口
ctrl+w松开然后按v:垂直拆分窗口
ctrl+w松开然后按方向键:在窗口间切换
vim分窗口编辑多个文件
vim -o:水平分割显示
vim -O:垂直分割显示
vim将文件内容另存为
将当前文件中内容另存为另外一个文件在末行模式下使用w命令,如:
1,$w /tmp/lcw.txt
vim用其它文件内容追加到当前文件中
在末行模式中用r命令,如:
r /tmp/lcw.txt
vim设置自动缩进
末行模式下
set autoindent
去除查找到的文本高亮显示
末行模式下
set nohlsearch
去除语法高亮
末行模式下
syntax off
vim的配置文件
全局配置文件/etc/vimrc
用户配置文件~/.vimrc(若该文件不存在,自己新建然后添加上上面的像set nu等命令照样生效)
vim导师
当对vim的相关命令不是很了解的时候可以通过命令vimtutor命令召唤出vim导师会有详解
如果你的系统语言是中文,很有可能教程也是中文的。
恢复vim交换文件
当对某个文件通过vim编辑时候出现意外状况未保存,则会生成该文件的swp文件
那么此时另外一个用户去编辑该文件应该就会出现一个提示,此时通过命令恢复下即可
如:
vim -r test.txt
关于userdel的-r
userdel很简单,只有一个参数可选 -r ;如果加参数-r ,表示在删除用户的同时,一并把用 户的家目录及本地邮件存储的目录或文件也一同删除;
一个sed的妙用
对于一个脚本,要求该脚本接收多个参数,以逗号隔开,而linux中参数是用空格隔开的,那么该如何处理呢。
实现:ch.sh
#!/bin/bash
for i in `echo $1 | sed 's/,/ /g'`
do
echo "your arguments - $i "
done
调用
./ch.sh aa,bb,cc
组合测试条件
-a:与关系
实例:
#!/bin/bash
if [ $1 -gt 5 -a $# -gt 3 ]
then
echo 'argument1 gt 5 arguments gt 3'
fi
-o:或关系
实例:
#!/bin/bash
if [ $1 -gt 5 -o $# -gt 3 ]
then
echo 'argument1 gt 5 or arguments gt 3'
fi
!:非关系
实例:
#!/bin/bash
if [[ ! ($1 == 'a') ]]
then
echo 'ok'
fi
与关系的另外一种写法:
&&
实例:
#!/bin/bash
if [ $# -gt 4 ] && [ $1 -le 3 ]
then
echo 'arguments num gt 4 and argument one xiaoYu or dengYu 3'
fi
关键字词:linux,bash,脚本选项,组合条件,测试