如何调试Linux shell脚本


shell也有一个真实的调试模式。如果在脚本"strangescript" 中有错误,您可以这样来进行调试:

sh -x strangescript

  这将执行该脚本并显示所有变量的值。

  shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用:

sh -n your_script

  这将返回所有语法错误。

linux/unix shell l脚本调试方法

Shell提供了一些用于调试脚本的选项,如下所示:

-n
读一遍脚本中的命令但不执行,用于检查脚本中的语法错误

-v
一边执行脚本,一边将执行过的脚本命令打印到标准错误输出

-x
提供跟踪执行信息,将执行的每一条命令和结果依次打印出来

使用这些选项有三种方法,一是在命令行提供参数

$ sh -x ./script.sh二是在脚本开头提供参数

#! /bin/sh -x第三种方法是在脚本中用set命令启用或禁用参数


#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x


fiset -x和set +x分别表示启用和禁用-x参数,这样可以只对脚本中的某一段进行跟踪调试。

用shell脚本实现自动切换内网和外网实现高可用
首先说明下我们的配置文件,都是类似格式的,假如内网是192.168.0.3,外网是123.123.123.123,配置文件如下:$db['salver']['hostname']='192.168.0.3:3306';//$db['salver']

shell判断文件,目录是否存在或者具有权限的代码
#!/bin/shmyPath="/var/log/httpd/"myFile="/var/log/httpd/access.log"#这里的-x参数判断$myPath是否存在并且是否具有可执行权限if[!-x"$myPath"];thenmkdir"$myPath"fi#这里的-d参数

linux服务器安全加固shell脚本代码
#!/bin/sh#desc:setuplinuxsystemsecurity#author:coralzd#poweredbywww.freebsdsystem.org#version0.1.2writtenby2011.05.03#accountsetuppasswd-lxfspasswd-lnewspasswd-lnscdpasswd-ldbuspasswd-lvcsapasswd-lgam