Linux Vim 编辑器编写 Shell 脚本

您所在的位置:网站首页 via脚本编写 Linux Vim 编辑器编写 Shell 脚本

Linux Vim 编辑器编写 Shell 脚本

2024-07-14 09:31| 来源: 网络整理| 查看: 265

目录Vim 编译器Shell 脚本参数条件表达式测试语句文件测试运算符数字比较运算符字符串比较运算符流程测试语句条件语句if 条件语句case 条件语句循环语句for 循环while 循环计划服务一次性计划任务长期性计划任务参考资料

Vim 编译器

Vim 文件编译器是编写文件的好工具,它包括以下 3 种模式:

命令模式:移动光标,对文本进行增删查改等操作; 输入模式:向文件中输入文本; 末行模式:保存或退出文档,设置编辑环境。

使用 Vim 编译器时进入的是命令模式,通过 “a、i、o” 三个键可以切换为输入模式。“a” 键在光标的后一位进入输入模式,“i” 键在光标的当前位置进入,“o” 键则是在光标下面创建一个空行。 Vim 编辑器的常用命令如下:

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

进入输入模式编辑好文本后,按 ESC 键回到命令模式,然后按 “:” 进入末行模式进行文本的保存和退出。

命令 作用 :w 保存 :q 退出 :q! 强制退出 :wq! 保存强制退出 :set nu 显示行号 :set nonu 不显示行号 :命令 执行命令 :整数 跳转到该行 : s/字符串a/字符串b 将当前光标所在行的第一个字符串 a 替换为字符串 b : s/字符串a/字符串b/g 将当前光标所在行的所有字符串 a 替换为字符串 b :%s/字符串a/字符串b/g 将全文的字符串 a 替换为字符串 b ?字符串 在文本中从下到上搜索字符串 /字符串 在文本中从上到下搜索字符串 Shell 脚本

将一系列 Linux 命令用 Vim 编辑器写到一个文件中,将这个文件的后缀名改为 .sh 就可以建立一个 Shell 脚本了。

vim example.sh

脚本中第一行需要用 “#!” 声明要使用哪种 Shell 解释器来执行脚本,而单一的 “#” 则是注释,一个简单的 Shell 脚本如下:

#!bash example.sh #Hello,world! echo Hello,world!

运行 Shell 脚本可以直接用 bash 解释器运行,也可以用脚本的路径来运行。

bash example.sh ./example.sh 参数

运行 Shell 脚本时可以向脚本传参,写法是在调用 Shell 脚本文件后面用空格间隔写上多个参数。一些用于接收参数的变量为:

变量 存储内容 $0 Shell 脚本程序的名称 $# 参数的总数 $* 所有位置的参数值 $? 显示上一次命令的返回值 $数字 第 n 个传入的参数值 条件表达式 测试语句

Shell 的测试语句用于判断表达式是否成立,条件成立返回数字 0,否则返回其他数据。测试语句的格式如下所示,注意中括号和表达式之间都有一个空格。

[ 条件表达式 ]

条件表达式自然支持逻辑运算符了,Shell 表达式支持 3 种逻辑运算符。“&&” 表示逻辑与,只有前面的语句执行成功后才会执行后面的语句。“||” 表示逻辑或,前面的语句执行失败后才会执行后面的语句。“!” 表示逻辑非,逻辑非会把条件测试中的结果取相反的值。例如:

[ -e /dev/cdrom ] && echo "Exist" [ $USER = root ] || echo "user" [ ! $USER = root ] || echo "administrator"

在用其他编程语言时,我们可能不是很关心语句是否执行,只关心表达式的运算结果。但是在 Shell 脚本来说要很注意语句的执行顺序,某个语句是否执行将产生很大的不同。

文件测试运算符

Shell 脚本对于不同的数据,使用的是不同的运算符进行比较。文件测试运算符有:

运算符 作用 -d 测试文件是否为目录类型 -e 测试文件是否存在 -f 判断是否为一般文件 -r 测试当前用户是否有读权限 -w 测试当前用户是否有写权限 -x 测试当前用户是否有执行权限

例如:

[ -d /etc/fstab ] [ -f /etc/fstab ] 数字比较运算符 运算符 作用 -eq = -ne != -gt > -lt


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3