测试目录是否存在
Test if directory exists or not
这是我的代码,它可以工作,但它总是说目录存在,不管我写什么。此外,它不会在 echo $DIRECTORY
中打印变量。我需要修复什么?
#!/bin/sh
if [ -d $DIRECTORY ]; then
echo "Directory exists"
elif [ ! -d $DIRECTORY ]; then
echo "Directory does not exists"
fi
echo $DIRECTORY
将变量传递给 shell 脚本
- 您必须指示脚本 DIRECTORY 是 一个变量,作为第一个脚本参数传递。
- 您必须将变量括在 双引号 中,以确保正确解析空格和特殊字符,如空变量。
样本:
#!/bin/sh
DIRECTORY=""
if [ -d "$DIRECTORY" ]; then
echo "Directory '$DIRECTORY' exists"
else
echo "Directory '$DIRECTORY' does not exists"
fi
echo "$DIRECTORY"
其他样本:
#!/bin/bash
DIRECTORY=""
FILE=""
if [ -d "$DIRECTORY" ]; then
if [ -e "$DIRECTORY/$FILE" ]; then
printf 'File "%s" found in "%s":\n ' "$FILE" "$DIRECTORY"
/bin/ls -ld "$DIRECTORY/$FILE"
else
echo "Directory '$DIRECTORY' exists, but no '$FILE'!"
fi
else
echo "Directory '$DIRECTORY' does not exists!"
fi
echo "$DIRECTORY/$FILE"
这是我的代码,它可以工作,但它总是说目录存在,不管我写什么。此外,它不会在 echo $DIRECTORY
中打印变量。我需要修复什么?
#!/bin/sh
if [ -d $DIRECTORY ]; then
echo "Directory exists"
elif [ ! -d $DIRECTORY ]; then
echo "Directory does not exists"
fi
echo $DIRECTORY
将变量传递给 shell 脚本
- 您必须指示脚本 DIRECTORY 是 一个变量,作为第一个脚本参数传递。
- 您必须将变量括在 双引号 中,以确保正确解析空格和特殊字符,如空变量。
样本:
#!/bin/sh
DIRECTORY=""
if [ -d "$DIRECTORY" ]; then
echo "Directory '$DIRECTORY' exists"
else
echo "Directory '$DIRECTORY' does not exists"
fi
echo "$DIRECTORY"
其他样本:
#!/bin/bash
DIRECTORY=""
FILE=""
if [ -d "$DIRECTORY" ]; then
if [ -e "$DIRECTORY/$FILE" ]; then
printf 'File "%s" found in "%s":\n ' "$FILE" "$DIRECTORY"
/bin/ls -ld "$DIRECTORY/$FILE"
else
echo "Directory '$DIRECTORY' exists, but no '$FILE'!"
fi
else
echo "Directory '$DIRECTORY' does not exists!"
fi
echo "$DIRECTORY/$FILE"