shell教程六:多行输入 、调试

来源:互联网 发布:程序员怎么进腾讯 编辑:程序博客网 时间:2024/06/15 01:38

shell教程六:多行输入 、调试

1.多行输入

当要将几行文字传递给一个命令时,here documents(译者注:目前还没有见到过对该词适合的翻译)
一种不错的方法。对每个脚本写一段帮助性的文字是很有用的,此时如果我们使用here documents技术
 就不必用echo函数一行行输出。 一个 Here document 以 << 开头,后面接上一个字符串(任意的),假设是“robin”
在你文本结束后,再用这个字符串(“robin”)追加一行,以表示文本结束。这个字符串我暂称之为边界区分字符串。下面是一个例子,
#!/bin/sh 
cat << HELP
ren -- renames a number of files using sed regular expressions 
USAGE: ren 'regexp' 'replacement' files... 
EXAMPLE: rename all *.HTM files in *.html: 
ren 'HTM$' 'html' *.HTM 
HELP
上面我们是选用HELP作为边界区分字符串的。其实我们也可以使用任意的字符串,比如robin,那么上例将变成如下:
#!/bin/sh 
cat << robin
ren -- renames a number of files using sed regular expressions 
USAGE: ren 'regexp' 'replacement' files... 
EXAMPLE: rename all *.HTM files in *.html: 
ren 'HTM$' 'html' *.HTM 

robin

2、调试

最简单的调试命令当然是使用echo命令。您可以使用echo在任何怀疑出错的地方打印任何变量值。这也是绝大多数的shell程序员要花费80%的时间来调试程序的原因。Shell程序的好处在于不需要重新编译,插入一个echo命令也不需要多少时间。 
shell也有一个真实的调试模式。如果在脚本中有错误,您可以这样来进行调试: 
sh -x test.sh
这将执行该脚本并显示所有变量的值。 
shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用: 
sh -n test,sh
将返回所有语法错误

1 0
原创粉丝点击