Help Depurando um script de shell

-1

Estou tentando criar um script para fazer o seguinte:

Lista cada diretório incluído na variável de ambiente PATH

Informar se o diretório existe ou não

var=${PATH //:/''}
for d in *;
do
if [ -d "$var" ]
then
echo "$var directory exists"
else
echo "Directory does not exist"
fi

Eu recebo este erro de sintaxe quando executo o script:

/validate_path.sh: line 19: syntax error: unexpected end of file

Eu também gostaria de saber o que é uma variável de ambiente PATH?

    
por DSH72 20.11.2015 / 22:12

1 resposta

0

Se este é o script exato, você está perdendo o done . A linha for também possui um ponto-e-vírgula desnecessário no final.

Dica: -x e --debug opções para bash são úteis em casos como este.

Exemplo:

var=${PATH //:/''}
for d in *; do
   if [ -d "$var" ]; then
      echo "$var directory exists"
   else
      echo "Directory does not exist"
   fi
done

Isso deve estar sintaticamente correto, embora o que você queira seja deixado como um exercício para o leitor.

    
por jdv 20.11.2015 / 22:18