Пользователь вводит путь к файлу, и скрипт оболочки должен проверять наличие файла и если файл не существует, запросите правильный путь до тех пор, пока не будет указан правильный путь. Вот моя попытка, и я не нравлюсьСценарий оболочки читает путь к файлу до появления файла
if [[ -z $filepath || ! -f $filepath ]]; then
printf "\nError: File does not exist. Try again\n"
while true :
do
read -p "Please provide file path: " filepath
if [[ -z $filepath || ! -f $filepath ]]; then
continue
else
break
fi
done
fi
и вот еще одна попытка, которая не удалась из-за ошибки синтаксиса
if [[ -z $filepath || ! -f $filepath ]]; then
printf "\nError: Bad file path. Try again\n"
while true :
do
read -p "Please enter file path: " filepath
case $filepath in
"")
echo "Bad file path. Try again"
continue ;;
! -f)
echo "Bad file path. Try again"
continue ;;
*)
break ;;
esac
done
Ваше решение на самом деле более легко понять, но другой имеет меньше строк кода – Ali
@Ali Если я что-то отсутствует, у них есть такое же количество строк, если вы опустите сообщение об ошибке пути к файлу. –