这篇文章介绍一下BSH或者BASH中经常使用的几个参数和相关的小技巧,在平时的脚本编程中活用能起到事半功倍的作用。
语法检查:-n选项
脚本写完之后,最为简单的语法检查,比如缺少引号等,夹杂在大量的内容之中就很难定位,这时使用-n参数则可以初略地进行检查,比如如下BASH的脚本:
liumiaocn:scripts liumiao$ cat test_syntax.sh
#!/bin/bash
GREETINGS=$1
CURRENT_DIR=`pwd
if [ _"HELLO" = _"${GREETINGS}"]; then
echo "liumiao, current dir is : ${CURRENT_DIR}"
fi
liumiaocn:scripts liumiao$
使用-n选项则可以提示初`pwd附近出现问题。
liumiaocn:scripts liumiao$ sh -n test_syntax.sh
test_syntax.sh: line 4: unexpected EOF while looking for matching ``'
test_syntax.sh: line 9: syntax error: unexpected end of file
liumiaocn:scripts liumiao$
-n选项并不会实际执行,它只是检查一下语法是否存在问题,所以脚本代码修改之后应该做的第一件事情,就是使用sh -n检查一下语法,可以快速检查出一些因粗心犯的错误。
但是-n选项并不能解决所有的问题,比如我们将获取当前目录行的代码修改正确(添加一个`)之后,可以看到sh -n检查已经没有问题了。
liumiaocn:scripts liumiao$ cat test_syntax.sh
#!/bin/bash
GREETINGS=