Escreva um script de shell que solicita ao usuário o caminho absoluto para um diretório,

-2

Escreva um script de shell que pergunte ao usuário o caminho absoluto para um diretório, o script deve testar para ver se o diretório existe. Se isso faz ls -l o diretório. Se não informar ao usuário que o diretório não está lá. Salve o arquivo como lista. Eu sou um iniciante, mas não consigo descobrir como obter o script para imprimir o ls -l após confirmar que o caminho é um diretório.

#!/bin/bash
echo 'Please enter an absolute pathway'

read PATH

if ($PATH == -d)

then
echo  ls -l $PATH

else

echo "This is not a directory"

fi
    
por laxplayerj93 02.03.2016 / 22:12

2 respostas

1

Seu grande problema é if ($PATH == -d) part. Deve ser

if [ -d "$FILEPATH"  ]

PATH é uma variável especial reservada. Se você desativá-lo, não poderá usar os programas armazenados em pastas que não sejam a atual. Então, leia man test sobre as opções e a sintaxe apropriada do comando [] do teste, e sempre cite as variáveis

    
por Sergiy Kolodyazhnyy 02.03.2016 / 22:22
1

Existem alguns problemas com este script.

  • A variável PATH já é usada pelo bash.
  • O teste em si
  • A maneira de gerar o resultado

Eu faria assim:

#!/bin/bash
read -p "Please enter an absolute pathway"
if test -d $REPLY
then
    ls -l $REPLY
else
    echo "This is not a directory"
fi
    
por Jean-Marie 03.03.2016 / 01:00