У меня возникли проблемы с некоторым кодом, он говорит, что файл не существует, когда я знаю, что он это делает. Код выглядит следующим образом:": Нет такого файла или каталога", когда файл существует
#! /bin/ksh
echo "Enter a file name"
read fileName
if [ -e $fileName ];then
less -M $fileName
gedit $fileName
else
echo "$fileName is not a file"
fi
Я почти наверняка пропустил что-то стало очевидным ... Я просто хочу, чтобы я знал, что это было. В любом случае, любая помощь будет принята с благодарностью.
Вы проверить, что файл существует, не то, что это не каталог, а не то, что это для чтения или записи. Я также не понимаю, что это будет делать с символической ссылкой, которая ничего не указывает. Также укажите точное сообщение об ошибке, и в идеале, какая команда запросила его. Наконец, вводится ли имя файла в виде метасимволов с пробелом или оболочкой? –
Привет, Майк, спасибо за ваш ответ. Значит, ты говоришь, что мне нужна новая команда вместо -e? Что касается ошибки, то полученная ошибка: «: Нет такого файла или каталога» и появляется после того, как имя файла было введено без символов пробела, например. owen.txt Еще раз спасибо –
Используйте '-f' для проверки простого файла (или символической ссылки на файл), в отличие от каталога' -d', блочного устройства '-b', символьного устройства' c', symlink '-L' или' -h', FIFO ('-p', mnemonic 'named Pipe') и т. Д. Используйте' -s' для проверки непустого файла. –