测试目录是否存在

时间:2015-10-29 07:27:00

标签: linux bash if-statement gnu

这是我的代码,它可以工作,但它总是说目录存在,无论我写的是什么。此外,它不会在echo $DIRECTORY中打印变量。我需要修理什么?

#!/bin/sh

if [ -d $DIRECTORY ]; then
echo "Directory exists"
elif [ ! -d $DIRECTORY ]; then
echo "Directory does not exists"
fi
echo $DIRECTORY

1 个答案:

答案 0 :(得分:3)

将变量传递给shell脚本

  • 你必须告诉你脚本 DIRECTORY 是第一个参数:
  • 您必须将变量括在双引号中,以确保正确测试空变量。

样品:

#!/bin/sh

DIRECTORY="$1"

if [ -d "$DIRECTORY" ]; then
    echo "Directory '$DIRECTORY' exists"
else
    echo "Directory '$DIRECTORY' does not exists"
fi
echo $DIRECTORY