shell 脚本如何调试

来源:互联网 发布:java 调用url传递参数 编辑:程序博客网 时间:2024/06/05 06:29

shell脚本由于是解释性执行语言,不像java那样可以进行调试

如果想调试shell脚本,可以在执行shell时加上-x参数,例如

sh -x start.sh

这样就可以看到start.sh执行过程中的详细信息,同时start.sh里面调用的其他脚本的执行过程一样可以看到

例如下面的结果:

+ '[' panorama = eve ']'
+ more /home/panorama/.testbin/bash_profile_template
+ . /home/panorama/.bash_profile
++ '[' -f /home/panorama/.bashrc ']'
++ . /home/panorama/.bashrc
+++ '[' -f /etc/bashrc ']'
+++ . /etc/bashrc
++++ '[' 723 -gt 99 ']'
+++++ id -gn
+++++ id -un
++++ '[' panorama = panorama ']'
++++ umask 002
++++ '[' '' ']'
++++ shopt -q login_shell
++++ for i in '/etc/profile.d/*.sh'
++++ '[' -r /etc/profile.d/colorls.sh ']'
++++ . /etc/profile.d/colorls.sh
+++++ alias 'll=ls -l'
+++++ alias 'l.=ls -d .*'
+++++ COLORS=/etc/DIR_COLORS
+++++ '[' -e /etc/DIR_COLORS.vt100 ']'
+++++ '[' -e /home/panorama/.dircolors ']'
+++++ '[' -e /home/panorama/.dir_colors ']'
+++++ '[' -e /home/panorama/.dircolors.vt100 ']'
+++++ '[' -e /home/panorama/.dir_colors.vt100 ']'

 

+:一个+符号,表示执行的start.sh脚本本身中的命令的执行过程信息

++:两个+符合,表示是start.sh里面调用的其他sheel脚本里执行时的命令的信息

依次类推,三个+,四个+也表示更深层次的脚本执行过程的信息

原创粉丝点击