电脑技术学习

对话 UNIX: 更多 shell 脚本技术

dn001

  看起来好多了,不是吗?所有东西都组织有序,并且有详细的描述,初次阅读这个脚本的人更容易理解它的作用。

  调试

  编写完一个脚本之后,就要第一次运行它了。但是,如果在执行脚本时显示某些意外的错误,应该怎么办呢?没有人是完美的,而且从头编写脚本并保持没有错误需要大量时间和丰富的经验;大多数时候,开发人员很容易漏掉一个字母或者颠倒了两个字母的顺序,这几乎是不可避免的。不必担心:AIX、其他风格的 Unix 和 Linux 中的 shell 已经考虑到了这个问题,可以帮助您进行调试。

  例如,清单 10 中的 shell 脚本(名为 make_errors)已经编写好等待执行。

  清单 10. 包含错误的脚本示例

#!/bin/bash
_X=1
while [[ ${_X} -le 10 ]]
do
 [[ ${_X} -lt 5 ]] && echo "X is less than 5!
 _Y=`expr ${_X) + 1`
 if [[ ${_Y} -eq 6 ]]
  echo "Y is now equal to ${_Y}"
 fi
 _X=${_Y}
done

  但是,初次执行这个脚本时,显示以下错误:

# ./make_errors
./make_errors: line 11: unexpected EOF while looking for matching `"'
./make_errors: line 16: syntax error: unexpected end of file

  Vim 是一种出色的调试工具,您可能使用过它,但不一定了解它的真正价值。Vim 是一种强大的文本编辑器,但是它对调试也很有帮助。如果通过设置 .exrc 或 .vimrc 文件指定用不同的颜色显示某些错误,Vim 就会替您完成大部分调试工作,见图 1。

  图 1. 用 Vim 进行调试

标签: