逐行外壳

时间:2014-03-16 19:43:05

标签: bash shell sh

我试图编写一个连续执行几个命令的shell脚本。但是,当我做的时候

VAR_1=/usr/home/cake/
##perform long task
ls $VAR_1
rm -rf ${VAR_1}file.tgz
ls $VAR_1

删除文件,但第二次没有列出目录。我不确定为什么。

2 个答案:

答案 0 :(得分:2)

bash -x script.sh运行脚本。这将在执行时打印行。这样您就可以看到执行了什么命令以及问题出在哪里。

答案 1 :(得分:1)

以下是一些建议:

  • 您可以随时在shell脚本中回显行以查看正在进行的操作。
  • 您还可以使用set -xv来帮助您调试shell脚本。只需将set -xv放在要调试的部分之前,然后set +xv关闭调试。您还可以使用export PS4="\$LINENO> "在shell脚本中打印行号。

尝试调试它。