帮助调试 shell 脚本

帮助调试 shell 脚本

我正在尝试创建一个脚本来执行以下操作:

列出 PATH 环境变量中包含的每个目录

报告目录是否存在

var=${PATH //:/''}
for d in *;
do
if [ -d "$var" ]
then
echo "$var directory exists"
else
echo "Directory does not exist"
fi

当我运行脚本时出现此语法错误:

/validate_path.sh: line 19: syntax error: unexpected end of file

我还想知道什么是 PATH 环境变量?

答案1

如果这是确切的脚本,那么您缺少了done。该for行末尾还有一个不必要的分号。

提示:在这种情况下,bash 的选项很有用-x--debug

例子:

var=${PATH //:/''}
for d in *; do
   if [ -d "$var" ]; then
      echo "$var directory exists"
   else
      echo "Directory does not exist"
   fi
done

从语法上来说这应该是正确的,但它是否能达到你想要的效果则留给读者去练习。

相关内容