Linux教程

Linux中Vim编辑器与Shell命令脚本

本文主要是介绍Linux中Vim编辑器与Shell命令脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • Vim文本编辑器

Vim的发布最早可以追溯到1991年,英文全称为:“Vi IMproved”,也就是对vi编辑器的提升版本,其中最大的改进当属对代码的着色功能,亦有些编程场景能够自动修正错误代码

三种模式:

  命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。

  输入模式:正常的文本录入。

  末行模式:保存或退出文档,以及设置编辑环境。

 

命令模式中最常用的一些命令

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始的5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步的操作
p 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式中最常用的一些命令

命令 作用
: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
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串
  • 编写Shell脚本
  1. 脚本的组成

  第一行的脚本声明(#!)用来告诉系统使用哪种Shell解释器来执行该脚本;

  第二行的注释信息(#)是对脚本功能和某些命令的介绍信息,使得自己或他人在日后看到这个脚本内容时,可以快速知道该脚本的作用或一些警告信息;

  第三、四行的可执行语句也就是我们平时执行的Linux命令了  

  #!/bin/bash 
  #For Example 
  pwd 
  ls -al
  
  2.脚本中接收参数的变量

 Linux系统中的Shell脚本语言已经内设了用于接收参数的变量,变量之间使用空格间隔。例如$0对应的是当前Shell脚本程序的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,
 $?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N个位置的参数 

  3.条件测试语句 

Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回非零值。条件测试语法的执行格式如图

  

 

 

 

按照测试对象来划分,条件测试语句可以分为4种:

文件测试语句;

逻辑测试语句;

整数值比较语句;

字符串比较语句。

文件测试所用的参数

操作符 作用
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
# [ -d /etc/fstab ]
# echo $?


逻辑语句用于对测试结果进行逻辑分析,根据测试结果可实现不同的效果。
 
逻辑与:&&   表示当前面的命令执行成功后才会执行它后面的命令
逻辑或:||   表示当前面的命令执行失败后才会执行它后面的命令
逻辑非:!   示把条件测试中的判断结果取相反值
# [ ! $USER = root ] && echo "user" || echo "root"
# [ ! $USER = root ] || echo "administrator"

整数比较运算符仅是对数字的操作,不能将数字与字符串、文件等内容一起操作,而且不能想当然地使用日常生活中的等号、大于号、小于号等来判断。

 可用的整数比较运算符

操作符 作用
-eq 是否等于
-ne 是否不等于
-gt 是否大于
-lt 是否小于
-le 是否等于或小于
-ge 是否大于或等于
# [ `free -m | grep Mem: | awk '{print $4}'` -lt 1024 ] && echo "Insufficient Memory"

字符串比较语句用于判断测试字符串是否为空值,或两个字符串是否相同。它经常用来判断某个变量是否未被定义(即内容为空值)

 常见的字符串比较运算符

操作符 作用
= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串内容是否为空

接下来通过判断String变量是否为空值,进而判断是否定义了这个变量:

# [ -z $String ]
# echo $?
0

表明:该变量未被定义,可以使用

4.流程控制语句
  • if条件测试语句
  1. if 单分支

  

 

 

    2.if 双分支

  

 

 

   3.if 多分支

  

 

 

  • for条件循环语句

         

  • while条件循环语句

  

 

  • case条件测试语句

        

 

 

  • 书本笔记截图:

 

 

 

 

这篇关于Linux中Vim编辑器与Shell命令脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!