Verifica se o link de pasta existe ou não [RESOLVIDO]

1. Verifica se o link de pasta existe ou não [RESOLVIDO]

Morpheus
Minions

(usa Nenhuma)

Enviado em 15/03/2024 - 14:59h

Qual usar no if?


[-a ARQUIVO] Verdadeiro se o ARQUIVO existe.
[-b ARQUIVO] Verdadeiro se o ARQUIVO existe e é um arquivo de bloco especial.
[-c ARQUIVO] Verdadeiro se o ARQUIVO existe e é um arquivo de caráter especial.
[-d ARQUIVO] Verdadeiro se o ARQUIVO existe e é um diretório.
[-e ARQUIVO] Verdadeiro se o ARQUIVO existe.
[-f ARQUIVO] Verdadeiro se o ARQUIVO existe e é um arquivo regular.
[-g ARQUIVO] Verdadeiro se o ARQUIVO existe e seu bit SGID está definido.
[-h ARQUIVO] Verdadeiro se o ARQUIVO existe e é um link simbólico.
[-k ARQUIVO] Verdadeiro se o ARQUIVO existe e seu bit sticky está definido.
[-p ARQUIVO] Verdadeiro se o ARQUIVO existe e é um pipe nomeado (FIFO).
[-r ARQUIVO] Verdadeiro se o ARQUIVO existe e é legível.
[-s ARQUIVO] Verdadeiro se o ARQUIVO existe e tem um tamanho maior que zero.
[-t FD] Verdadeiro se descritor de arquivo FD é aberto e refere-se a um terminal.
[-u ARQUIVO] Verdadeiro se o ARQUIVO existe e seu SUID (set user ID) bit é definido.
[-w ARQUIVO] Verdadeiro se o ARQUIVO existe e é gravável.
[-x ARQUIVO] Verdadeiro se o ARQUIVO existe e é executável.
[-o ARQUIVO] Verdadeiro se o ARQUIVO existe e é de propriedade do ID de usuário efetivo.
[-G ARQUIVO] Verdadeiro se o ARQUIVO existe e é de propriedade do ID de grupo efetiva.
[-L ARQUIVO] Verdadeiro se o ARQUIVO existe e é um link simbólico.
[-N ARQUIVO] Verdadeiro se o ARQUIVO existe e foi modificado desde a última leitura.
[-S ARQUIVO] Verdadeiro se o ARQUIVO existe e é um soquete.
[ARQUIVO1 nt ARQUIVO2] Verdadeiro se ARQUIVO1 foi alterado mais recentemente do que ARQUIVO2, ou se ARQUIVO1 existe e ARQUIVO2 não.
[ARQUIVO1 -ot ARQUIVO2] Verdadeiro se ARQUIVO1 é mais velho do que ARQUIVO2, ou é ARQUIVO2 existe e ARQUIVO1 não.
[ARQUIVO1 -ef ARQUIVO2] Verdadeiro se ARQUIVO1 e ARQUIVO2 referem-se aos mesmos números de dispositivo e inode.
[-o OptionName ] Verdadeiro se a opção shell "OptionName" está ativada.
[-z TEXTO] Verdadeiro do comprimento se "TEXTO" é zero.
[-n TEXTO] ou [TEXTO] É verdade, se o comprimento de "TEXTO" é diferente de zero.
[TEXTO1 = TEXTO2] Verdadeiro se os textos são iguais. "=" Pode ser usado em vez de "==" para o estrito cumprimento POSIX.
[TEXTO1 != TEXTO2] Verdadeiro se os texto não são iguais.
[TEXTO1 < TEXTO2] Verdadeiro se "texto1" tipo antes "texto2" Lexicograficamente no local atual.
[TEXTO1 > TEXTO2] Verdadeiro se "texto1" tipos depois de "texto2" Lexicograficamente no local atual.



  


2. MELHOR RESPOSTA

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 15/03/2024 - 14:59h

Para verificar se o link de pasta existe, você pode utilizar o comando `test` com a opção `-h` para verificar se o arquivo existe e é um link simbólico.

```bash
test -h PASTA
```

No caso de usar no `if`, você pode fazer da seguinte maneira:

```bash
if test -h PASTA; then
echo "O link de pasta existe."
else
echo "O link de pasta não existe."
fi

```

3. Re: Verifica se o link de pasta existe ou não

aguamole
aguamole

(usa KUbuntu)

Enviado em 15/03/2024 - 16:11h

[[ -h /link ]] && echo "yes" || echo "no"
A alexa fez certinho desta vez. Se ela tivesse a mesma qualidade do chatGPT4 ia ser melhor ainda.


4. Re: Verifica se o link de pasta existe ou não [RESOLVIDO]

Morpheus
Minions

(usa Nenhuma)

Enviado em 15/03/2024 - 19:32h


Qual é o ideal?

ls ou test

================================
x=ball

ls /var/goku/ | grep "$x" &>/dev/null

# if [ $? -eq 0 ]; then

....


5. Re: Verifica se o link de pasta existe ou não

aguamole
aguamole

(usa KUbuntu)

Enviado em 15/03/2024 - 20:08h

Minions escreveu:


Qual é o ideal?

ls ou test

================================
x=ball

ls /var/goku/ | grep "$x" &>/dev/null

# if [ $? -eq 0 ]; then

....

Se você quiser performance é o test, ele é built-in do bash, você pode ver isso com type test.
troca o ls /var/goku por:

x=ball
echo /var/goku/* | grep "$x &>/dev/null
Ou
for i in var/goku/*; do echo $i; done | grep "$x" &>/dev/null

Assim você elimina o ls.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts