往往在编写脚本完后测试,出现错误需要调试,vim 是一种强大的文本编辑器,对调试也很有帮助。如果指定用不同的颜色显示某些错误,通过配置 .vimrc 文件就会替您完成大部分调试工作。

小柏在测试脚本时,遇到一个错误提示如下:

[root@bqh-118 scripts]# vim md5pojie.sh
[root@bqh-118 scripts]# sh md5pojie.sh
md5pojie.sh: line 17: unexpected EOF while looking for matching `"'

(md5pojie.sh: line 17: unexpected EOF while looking for matching `"'):指出在第 17行上有错误,但是看过这一行之后,并没有发现任何错误。再看看第 16行,发现判断条件后面的字符串的末尾缺少一个大括号。这个示例很好地说明了在进行调试时为什么必须查看整

个脚本。也就是说提示的错误消息显示的行号不一定是正在出现错误的真正位置,一般都在上下左右附近位置。

调试好后,我们在执行脚本:

is ok!

以此同时,我们在调试脚本时,也要注意语法使用是否完善,有时候丢一个fi、then、done或符合等等。

vim调试Shell脚本: unexpected EOF while looking for matching的更多相关文章

  1. 使用sh-x调试shell脚本_转

    参考:http://blog.chinaunix.net/uid-20564848-id-73502.html 1. 通过sh -x 脚本名  #显示脚本执行过程2.脚本里set -x选项,轻松跟踪调 ...

  2. Bash技巧:使用 set 内置命令帮助调试 shell 脚本

    Bash技巧:使用 set 内置命令帮助调试 shell 脚本 霜鱼片发布于 2020-02-03   在 bash 中,可以使用 set 内置命令设置和查看 shell 的属性.这些属性会影响 sh ...

  3. 4Linux环境变量、Vim、Shell脚本

    环境变量 命令在Linux中的执行分为4个步骤: 1.以路径的形式来执行 2.命令的别名形式来执行,alias 新命令=“原始命令”,新命令与原始命令互不冲突,可以同时使用,重启失效,修改/etc/p ...

  4. 利用 tee 命令调试shell脚本中的管道

    在编写shell脚本时,调试是个比较麻烦的事,特别是涉及到多层管道命令的时候,会产生多个中间结果,tee命令的作用是从标准输入中读取数据写入标准输出或文件中,利用它可以从管道中读取中间结果并写入本地临 ...

  5. 如何调试shell脚本

    今天看shell脚本攻略的时候,看见这个方法,感觉还是不错的 #!/bin/bash function DEBUG(){ [[ $_DEBUG == 'on' ]] && $@ || ...

  6. Shell脚本——cat/EOF输出多行

    在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...

  7. VIM打开shell脚本中文乱码解决

    1. 查找 .vimrc文件 通常有2个地方保存这个文件的: (1) 在/etc/文件夹下面,是所有用户的vim配置 (2)每个用户的开始登录的文件夹下面,有些不一定有,比如hadoop用户,则在/h ...

  8. bashdb调试shell脚本

    http://note.youdao.com/noteshare?id=ef705313b714cf3a17cfe17dc80956a3

  9. shell脚本调试

    转自:http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ 一. 前言 shell编程在unix/linux世界中使用得非常广泛,熟 ...

随机推荐

  1. java 利用poi 实现excel合并单元格后出现边框有的消失的解决方法

    使用工具类RegionUtil CellRangeAddress cra = new CellRangeAddress(nowRowCount, nowRowCount + followSize-1, ...

  2. LeetCode_125. Valid Palindrome

    125. Valid Palindrome Easy Given a string, determine if it is a palindrome, considering only alphanu ...

  3. scdbg分析shellcode

    https://isc.sans.edu/forums/diary/Another+quickie+Using+scdbg+to+analyze+shellcode/24058/ scdbg -f s ...

  4. fastJson工具类

    jar:fast.jar 依赖: <!-- fastjson --> <dependency> <groupId>com.alibaba</groupId&g ...

  5. jquery判断元素是否包含某class

    // <div id="id" class="add on"></div> var flag = $("#id"). ...

  6. [转帖]Oracle报错ORA-26563--当重命名表时碰到物化视图

    Oracle报错ORA-26563--当重命名表时碰到物化视图 https://www.toutiao.com/i6739137279115133447/ 原创 波波说运维 2019-09-26 00 ...

  7. windows使用sqlpus连接oracle 数据库

    1.先安装好Instant Client程序. 2.打开cmd 执行sqlplus命令,如果出现如下图 2.说明需要把oracle install 的bin目类 添加系统环境path中,如下图添加环境 ...

  8. 《Mysql - SQL优化》

    一:在查询语句时,应该注意的优化问题 - SELECT语句务必指明字段名称 - SELECT * 会增加很多不必要的消耗(CPU.IO.内存.网络带宽) - 同时会让 Mysql 优化器无法优化 -  ...

  9. Linux "yin"才们的奇"yin"小技巧 --请用东北发音夸他们

    1. include/linux/bits.h GENMASK(h, l) /* * Create a contiguous bitmask starting at bit position @l a ...

  10. c语言 c++程序运行过程

    我们写好的  .c  .cpp   文件在计算机中如何运行. 一个.c 文件  .cpp  文件  首先经过 预编译形成  . i 文件  在这个过程中 主要处理程序中的#  以及进行宏替换 然后编译 ...