如果由update-alternatives管理的目录不存在,请检入bash

时间:2011-06-21 23:36:16

标签: bash debian apt

我有一条由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

是否有其他方法可以检查目录是否不存在?

1 个答案:

答案 0 :(得分:3)

路径存在,但它不是目录;根据您的ls -l,它是文件。因此test -d正确返回false,而test -etest -f将返回true。我怀疑你安装的东西不正确。