Закройте окно терминала изнутри с помощью скрипта оболочки - PullRequest
0 голосов
/ 24 апреля 2020

После этого ответа я включил в свой .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 только завершает скрипт закрыть окно терминала, как я желаю. Как я мог добиться этого поведения?

...