Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > *NIX системы: Общие вопросы > Эмулятор терминала и bash |
Автор: Rigid 23.10.2013, 22:21 |
Где собственно грань между эмулятором терминала и интерпритатором баша? Приглашение командрой строки судя по всему выводит именно эмулятор терминала. т.к. ни в stdout ни в stderr ничего подобного баш не пишет. Сколько инстансов баша создает эмулятор терминала? Логично было бы создавать один, но тогда не совсем понятно как bash сигнализирует о том что он заверншил выполнене команды(ничего похожего в тех же stdout ни в stderr я не увидел). А самое интересное что если посмотреть список процессов, то получайтся что создается один истанс на терминал. и он всегда один и тот же. В общем вопрос то такой, как все это работет ![]() сенкс. |
Автор: Rigid 24.10.2013, 00:00 |
Интересное кино ![]() Добавлено через 14 минут и 17 секунд Похоже дошло, общений между терминалом и башем происходит через tty абстракцию. Так оно? |
Автор: Фантом 24.10.2013, 12:00 |
Именно. ![]() |
Автор: tzirechnoy 25.10.2013, 19:24 | ||
Обычно -- именно в stderr и пишэт. Только учтите: 1) это конкретно bash конкретно сейчас. Например, интэрактивный zsh -- переоткрывает терминал, а бизибоксовский минималистичный shell пишэт в stdout. 2) Если stderr (или stdin) не является терминалом (в смысле isatty(3)) -- то он считает себя неинтэрактивным и вообще не выводит приглашэния. |
Автор: shgurbanov 16.1.2014, 20:31 |
Совершенно разные вещи. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Эмулятор-терминала-и-bash-id52682254ae2015661b000007#findElement_E7045_52d8175eae20151a23304f7a_0 |
Автор: shgurbanov 17.1.2014, 14:08 |
Уточню, Интерпретатор, среда которая интерпретирует файл построчно. Оболочка, среда взаимодействия с ядром. Эмулятор, среда которая воссоздает условия близкие к реальности.Не более того.Вот пример http://bellard.org/jslinux/ Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Эмулятор-терминала-и-bash-id52682254ae2015661b000007#findElement_E7045_52d90f36ae2015171d30523e_0 |