Я хочу написать ZSH функцию, которая предлагает мне использовать yadm push
после ошибочного git push
. Я установил alias git="correct git"
и следующую функцию:
function correct (){
if [ "$1" = "git" ] && [ "$2" = "push" ]; then
eval "command $1 $2" ||
echo "Try yadm?"
select yn in "Yes" "No"; do
case $yn in
Yes ) yadm $2; break;;
No ) break;;
esac
done
fi
}
Вышеуказанное работает, как и ожидалось, хотя я не могу сделать то же самое с read -p
:
function correct (){
if [ "$1" = "git" ] && [ "$2" = "push" ]; then
eval "command $1 $2" ||
while true; do
read -p "Try yadm? (y/n)" yn
case $yn in
[Yy]* ) yadm $2; break;;
[Nn]* ) break;;
* ) echo "Please answer yes or no.";;
esac
done
fi
}
Как использовать один read -p
после eval
заявления?