Я знаю, что это - вероятно, относительно бессмысленный вопрос, но мне любопытно относительно почему exec false
закрывает терминал точно так же, как exit
делает.
Я также хотел бы знать - ли это приемлемый способ закрыть терминал или нет.
exec false
заменяет текущую оболочку выполнением команды false
(здесь не встроенная оболочка, но /bin/false
или безотносительно false
исполняемый файл, который на первом месте в PATH
), который быстро выходит. Если оболочка была самым верхним процессом, работающим в Вашем эмуляторе терминала, больше нет процессов, работающих в нем так, эмулятор терминала закрывается.
Это - приемлемый альтернативный способ закрыть терминал, точно так же, как были бы много подобных команд:
exec true
exec sleep 0
exec echo
...
См. также: what-does-an-exec-command-do