我有一条由update-alternatives管理的路径。这似乎让bash感到困惑。
以下如果不打印是的话。但它确实是因为bash认为该目录不存在 - 事实上它确实存在。这一切都是以root身份完成的,我尝试过单支架版本。
RUBY_ROOT=/usr/bin/ruby
CHK_DIR_PATH=`readlink -f "${RUBY_ROOT}"`
if [[ ! -d "${CHK_DIR_PATH}" ]] ; then echo yes; fi
路径确实存在:
ls -la ${CHK_DIR_PATH}
-rwxr-xr-x 1 root root 6993617 2011-06-21 15:37 /usr/bin/ruby1.9.2-p180
是否有其他方法可以检查目录是否不存在?
答案 0 :(得分:3)
路径存在,但它不是目录;根据您的ls -l
,它是文件。因此test -d
正确返回false,而test -e
和test -f
将返回true。我怀疑你安装的东西不正确。