Напишите сценарий оболочки, который запрашивает у пользователя абсолютный путь к каталогу,

Напишите скрипт оболочки, который запрашивает у пользователя абсолютный путь к каталогу, скрипт должен проверить, существует ли каталог. Если это делает ls -l каталог. Если не сказать пользователю, что каталог не существует. Сохраните файл как список. Я новичок, но не могу понять, как заставить скрипт напечатать ls -l после того, как он подтвердит, что путь является каталогом.

#!/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
-2
задан 3 March 2016 в 00:12

2 ответа

Ваша большая проблема if ($PATH == -d) часть. Это должно быть

if [ -d "$FILEPATH"  ]

PATH, специальная переменная, которая резервируется. Если Вы сбрасываете его, Вы не можете использовать любые программы, хранятся в папках кроме Вашей текущей. Так, читайте man test об опциях и правильном синтаксисе теста [] команда, и всегда заключайте переменные в кавычки

1
ответ дан 3 March 2016 в 10:12
  • 1
    я уже установил вино, настройте его и также установите долю - оно, но оно не работает. – Aaron.0 1 June 2017 в 02:22

Существуют некоторые проблемы с этим сценарием.

  • путь переменной уже используется ударом.
  • сам тест
  • способ произвести результат

я сделал бы это тот путь:

#!/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
1
ответ дан 3 March 2016 в 10:12
  • 1
    Я проверил, что имена файлов хорошо, удаленный даже подчеркивают от имени файла и каталога и ничего. Он возможный что этот файл ' dbbackup.sh' должен быть без ' .sh' точка и расширение? – Nezir 1 June 2017 в 03:24

Другие вопросы по тегам:

Похожие вопросы: