Проверьте в bash, если каталог не существует при управлении альтернативами обновления - PullRequest
1 голос
/ 22 июня 2011

У меня есть путь, который управляется альтернативами обновления.Кажется, это сбивает с толку 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 Ответ

3 голосов
/ 22 июня 2011

Путь существует, но это не каталог; согласно вашему ls -l, это файл . Таким образом, test -d правильно возвращает false, тогда как test -e и test -f возвращают true. Я подозреваю, что у вас что-то установлено неправильно.

...