24

Как проверить, существует ли каталог в командной строке Linux?

Решение: [ -d ¨a¨ ]&&echo ¨exists¨||echo ¨not exists¨

6 ответов6

36
$ if test -d /the/dir; then echo "exist"; fi 
10

Предполагая, что ваша оболочка BASH:

if [ -d /the/dir ]; then echo 'Exists'; else echo 'Not found'; fi
7
[ -d /home/bla/ ] && echo "exits"
6

Каноническим способом является использование утилиты test(1):

test -d path

где "путь" - это путь к каталогу, о котором идет речь.

2

[ -d "YOUR_DIR" ] && echo "is a dir"

например:

[ -d / ] && echo "root dir "

выдаст: root dir .

0

Чтобы проверить, существует ли каталог в сценарии оболочки, вы можете использовать следующее:

dir=$1

if [ -d "$dir" ]; then

 #means that $dir exists.

fi

чтобы проверить обратное, добавьте ! до -d ->[ ! -d ....]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .