一、Vim编辑器与Shell命令脚本
1.Vim文本编辑器:设置了三种模式:1.命令模式 ;2.输入模式;3.末行模式
打开Vim编辑器时,默认进入命令模式。
从命令模式进入输入模式:按a(下一个字符)键,i(当前字符)键,o(下一行)键中随便一个键进入输入模式
从输入模式进入命令模式:Esc键
从命令模式进入末行模式:按:键
从末行模式进入命令模式:Esc键
Vim中常用的命令: dd 删除光标所在整行 ; 5dd 删除从光标处开始的5行;yy 复制光标所在整行; 5yy 复制从光标处开始的5行; n 显示搜索命令定位到的下一个字符串;N显示搜索命令定位到的上一个字符串;u 撤销上一步的操作;p 将之前删除或复制过的数据粘贴到光标后面。
末行模式中的命令: :w 保存; :q 退出; :q! 强制退出(放弃对文档的修改内容);:wq! 强制保存退出;:set nu 显示行号;:set nonu 不显示行号;:命令 执行该命令;:整数 跳转到该行;:s/one/two 将当前光标所在行的第一个one替换成two;:s/one/two/g 将当前光标所在行的所有one替换成two;:%s/one/two/g 将全文中的所有one替换成two;?字符串 在文本中从下至上搜索该字符串; /字符串 在文本中从上至下搜索该字符串。
2.配置主机名称: vim /etc/hostname 里面修改主机名并保存退出文档,使用hostname命令检查是否修改成功
或: hostnamectl set-hostname 主机名
3.配置网卡信息:vim /etc/sysconfig/network-scripts/ifcfg-eno160 里面修改相关网卡信息并保存退出文档。
重启网卡命令:systemctl restart network
4.shell脚本:工作方式有交换式和批处理
第一行的脚本声明(#!):告诉系统使用哪种shell解释器来执行该脚本
第二行的注释信息(#):对脚本功能和某些命令的介绍信息,日后看到这个脚本内容时,可以知道该脚本的作用或一些警告信息
第三行开始就是脚本命令
5.接受用户的参数:$0 当前Shell脚本程序的名称;$# 总共有几个参数;$* 所有位置的参数值;$? 显示上一次命令的执行返回值;$1、$2、$3...... 第N个位置的参数值。
6.判断用户的参数:测试语句格式 [ 条件表达式 ]
按测试对象来划分,条件测试语句分为:文件测试语句;逻辑测试语句;整数值比较语句;字符串比较语句。
6.1 文件测试语句参数:-d 测试文件是否为目录类型; -e 测试文件是否存在; -f 判断是否为一般文件;-r 测试当前用户是否有权限读取;-w 测试当前用户是否有权限写入;-x 测试当前用户是否有权限执行
比如:[ -d /etc/fstab] [ -f /etc]
6.2 逻辑测试语句:&& 当前面的命令执行成功才会执行后面的命令;|| 当前面的命令执行失败才会执行后面的命令;! 条件测试中的判断结果取相反值
[ ! $USER = root ] && echo "user" || echo "root"
6.3 整数比较运算符:-eq 是否等于;-ne 是否不等于;-gt 是否大于;-lt 是否小于;-ge 是否大于等于;-le 是否小于等于。
[ `free -m | grep Mem: |awk '{print $4}'` le 1024 ] && echo "BUZU" || echo "CHONGZU"
6.4 字符串比较运算符:= 比较字符串内容是否相同; != 比较字符串内容是否不同;-z 判断字符串内容是否为空。
[ $LANG != "en.US" ] && echo "Not en.US"
7.if条件测试语句:从技术角度看,分为单分支结构,双分支结构,多分支结构。
单分支:if then fi 双分支:if then else fi 多分支:if then elif else fi
不匹配条件判断语句,自动执行最终的兜底策略
来源:oschina
链接:https://my.oschina.net/u/4277979/blog/4899854