Команды после чтения в скрипте оболочки выдают ошибку
Я создаю сценарий оболочки, чтобы взять путь ввода от пользователя и скопировать определенный файл по введенному пути. Ниже приведен простой скрипт для восстановления поврежденного файла и копирования его по требуемому пути, указанному пользователем.
FILE=$1 bzip2recover $FILE находить. -name 'rec*bz2' -exec sh -c 'bzip2 -t "$0" 2>/dev/null || rm -f $0' {} \; cat rec* > $FILE rm -f rec* read -p "Введите путь для копирования:" PATH cp $FILE $PATH rm -f $FILEстроки после
read
выдает ошибку как cp : command not found
а также rm : command not found
, В чем может быть проблема?
1 ответ
Решение
Вы перезаписываете важную системную переменную PATH
с вводом пользователя. PATH
обычно указывает на папки с исполняемыми файлами. После того, как вы перезаписали его с помощью пользовательского ввода, система больше не сможет найти исполняемые файлы.
Используйте другое имя переменной.