我试图编写一个连续执行几个命令的shell脚本。但是,当我做的时候
VAR_1=/usr/home/cake/
##perform long task
ls $VAR_1
rm -rf ${VAR_1}file.tgz
ls $VAR_1
删除文件,但第二次没有列出目录。我不确定为什么。
答案 0 :(得分:2)
以bash -x script.sh
运行脚本。这将在执行时打印行。这样您就可以看到执行了什么命令以及问题出在哪里。
答案 1 :(得分:1)
以下是一些建议:
set -xv
来帮助您调试shell脚本。只需将set -xv
放在要调试的部分之前,然后set +xv
关闭调试。您还可以使用export PS4="\$LINENO> "
在shell脚本中打印行号。尝试调试它。