После этого ответа я включил в свой .bashrc
функцию follow, чтобы мои сценарии могли проверять, хочет ли пользователь выйти из текущего сеанса, закрывая терминал
close(){
[[ $1 =~ ^-[yY]([eE][sS])?$ ]] && exit 0 || write -r "Should it close? [Y/n]"
while true; do
read -p "" answer
case $answer in
[Yy] ) exit 0;;
[Nn] ) break;;
* ) [[ $answer == "" ]] && exit 0 || write -y "Please answer (Y)es or (n)o.";;
esac
done
}
It работает, закрывая окно терминала, когда я напрямую запускаю команду в моем сеансе, однако это не так, когда она вызывается из скрипта, который я запускаю.
Вместо этого вызов exit 0
только завершает скрипт закрыть окно терминала, как я желаю. Как я мог добиться этого поведения?