Como verificar se existe um diretório na linha de comando do Linux?

22

Como verificar se existe um diretório na linha de comando do Linux?

Solução: [ -d ¨a¨ ]&&echo ¨exists¨||echo ¨not exists¨

    
por studiohack 21.01.2010 / 16:27

6 respostas

34

$ if test -d /the/dir; then echo "exist"; fi 
    
por 21.01.2010 / 16:30
9

Assumindo que seu shell é BASH:

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

A maneira canônica é usar o utilitário test (1):

test -d path

onde "path" é o nome do caminho do diretório em questão.

    
por 21.01.2010 / 16:31
2

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

por exemplo:

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

exibirá: root dir .

    
por 21.01.2010 / 16:31
0

Para verificar se existe um diretório em um shell script, você pode usar o seguinte:

dir=$1

if [ -d "$dir" ]; then

 #means that $dir exists.

fi

para verificar o contrário, adicione ! antes do -d ->[ ! -d ....]

    
por 14.11.2016 / 10:19