Есть ли способ проверить реакцию пользователя на rm -i
выполнение? Я хотел бы echo
что-то в зависимости от того, ответил пользователь или нет y
или n
.
Команда успешно возвращается независимо от ответа пользователя, поэтому эта попытка не сработала:
$ rm -i testfile.txt && echo "The file was deleted."
remove testfile.txt? n
The file was deleted.
Я полагал, что часть echo
будет выполнена, только если rm
часть была успешной, но, очевидно, ответ n
также считается успешным выполнением.
Я также хотел бы иметь возможность изменять сообщение в зависимости от ответа. Этот код сделает это, но он не очень красивый.
file=testfile.txt
touch $file
read -p "Are you sure (y/n)? " answer
if [[ $answer =~ ^[yY](es|ES)?$ ]]; then
rm $file
echo "Deleted file."
else
echo "Did nothing."
fi
Конечно, должен быть способ получить входные данные для rm -i
. Как?