我写了一条if-else statement
,以检查是否存在directory1
或directory2
if [ -d /opt/directory1 ] || [ -d /opt/directory2 ]; then
echo "SUCCESS"
else
echo "FAil
fi
但是,在某些服务器上我遇到了错误
[: /opt/directory1: binary operator expected
所有服务器都在使用bash
答案 0 :(得分:3)
使用Bash,这将为您提供所需的行为:
if [[ -d /opt/directory1 ]] || [[ -d /opt/directory2 ]] ; then
echo "SUCCESS"
else
echo "FAIL"
fi
请注意在两种情况下都使用-d
。
答案 1 :(得分:1)
简单的Shell脚本为您提供了答案。
#!/bin/bash
DIR="$1"
if [ $# -ne 1 ]
then
echo "Usage: $0 {dir-name}"
exit 1
fi
if [ -d "$DIR" ]
then
echo "$DIR directory exists!"
else
echo "$DIR directory not found!"
fi