0°

调试一个脚本

来源:《linux 101 hacks》

想要调试一个脚本应当将 set -xv 写在脚本的顶部

不包含调试命令的脚本:

$ cat filesize.sh
#!/bin/bash
for filesize in $(ls -l . | grep "^-" | awk ‘{print
$5}’)
do
  let totalsize=$totalsize+$filesize
done
echo "Total file size in current directory: $totalsize"

不包含调试命令下的脚本输出:

$ ./filesize.sh

Total file size in current directory: 652

包含调试命令的脚本:

脚本里添加了 set -xv 输出调试,如下所示。

$ cat filesize.sh
#!/bin/bash
set -xv
for filesize in $(ls -l . | grep "^-" | awk ‘{print
$5}’)
do
  let totalsize=$totalsize+$filesize
done
echo "Total file size in current directory: $totalsize"

包含调试命令的脚本输出:

$ ./fs.sh
++ ls -l .
++ grep ‘^-’
++ awk ‘{print $5}’
+ for filesize in ‘$(ls -l . | grep "^-" | awk
‘\’’{print $5}’\’’)’
+ let totalsize=+178
+ for filesize in ‘$(ls -l . | grep "^-" | awk
‘\’’{print $5}’\’’)’
+ let totalsize=178+285
+ for filesize in ‘$(ls -l . | grep "^-" | awk
‘\’’{print $5}’\’’)’
+ let totalsize=463+189
+ echo ‘Total file size in current directory: 652’
Total file size in current directory: 652

使用调试选项执行脚本
除了在脚本内给出 set -xv,同样可以悬着如下执行脚本:

$ bash -xv filesize.sh
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论