История изменений
Исправление torvn77, (текущая версия) :
Вот, и тут мы подходим к тому, что из приведённого мной прототипа следует то, что изменять надо состояние самой программы, а не место, куда она будет писать свои вывод или сообщения.
Сделать это опцией нельзя, просто потому что автор такую опцию у clear не предусмотрел.
(тут я залезаю в терминал и на всякий случай это проверяю clear --help
и man clear
)
Далее так как опция отсутствует, то может тоже самое делается через переменную окружения?
/usr/bin/env
Тоже таких переменных не выводит.
Но ведь echo GGG >/dev/tty1
приводит к записи в консоль, то есть эта запись таки возможна.
И ведь clear очищает не случайную консоль, а именно ту в которой она запущена.
То есть clear знает что очищать( через /dev/console я полагаю)
С другой стороны bash или sh запускаются в определённых tty, как они это делают?
После изучения вопроса приходим к системам инициализации ОС и файлу /etc/inittab и в нём строки:
1:2345:respawn:/sbin/getty -a root_tty1 38400 tty1
2:2345:respawn:/sbin/getty -a root_tty2 38400 tty2
3:2345:respawn:/sbin/getty -a root_tty3 38400 tty3
4:2345:respawn:/sbin/getty -a root_tty4 38400 tty4
5:2345:respawn:/sbin/getty -a root_tty5 38400 tty5
6:2345:respawn:/sbin/getty -a root_tty6 38400 tty6
Далее надо изучить что это за getty, в манах к этой утилите есть упоминание и других утилит, ну вот почитав мануальник к agetty мне пришло в голову agetty -nl /usr/bin/clear tty1
, тест показал что под рутом это работает.
И не ленись, прочитай в мануальнике что делают опции -n и -l.
Ты прочтёшь для себя нечто удивительное.
Исправление torvn77, :
Вот, и тут мы подходим к тому, что из приведённого мной прототипа следует то, что изменять надо состояние самой программы.
Сделать это опцией нельзя, просто потому что автор такую опцию у clear не предусмотрел.
(тут я залезаю в терминал и на всякий случай это проверяю clear --help
и man clear
)
Далее так как опция отсутствует, то может тоже самое делается через переменную окружения?
/usr/bin/env
Тоже таких переменных не выводит.
Но ведь echo GGG >/dev/tty1
приводит к записи в консоль, то есть эта запись таки возможна.
И ведь clear очищает не случайную консоль, а именно ту в которой она запущена.
То есть clear знает что очищать( через /dev/console я полагаю)
С другой стороны bash или sh запускаются в определённых tty, как они это делают?
После изучения вопроса приходим к системам инициализации ОС и файлу /etc/inittab и в нём строки:
1:2345:respawn:/sbin/getty -a root_tty1 38400 tty1
2:2345:respawn:/sbin/getty -a root_tty2 38400 tty2
3:2345:respawn:/sbin/getty -a root_tty3 38400 tty3
4:2345:respawn:/sbin/getty -a root_tty4 38400 tty4
5:2345:respawn:/sbin/getty -a root_tty5 38400 tty5
6:2345:respawn:/sbin/getty -a root_tty6 38400 tty6
Далее надо изучить что это за getty, в манах к этой утилите есть упоминание и других утилит, ну вот почитав мануальник к agetty мне пришло в голову agetty -nl /usr/bin/clear tty1
, тест показал что под рутом это работает.
И не ленись, прочитай в мануальнике что делают опции -n и -l.
Ты прочтёшь для себя нечто удивительное.
Исходная версия torvn77, :
Вот, и тут мы подходим к тому, что из приведённого мной прототипа следует то, что изменять надо состояние самой программы.
Сделать это опцией нельзя, просто потому что автор такую опцию у clear не предусмотрел.
(тут я залезаю в терминал и на всякий случай это проверяю clear --help
и man clear
)
Далее так как опция отсутствует, то может тоже самое делается через переменную окружения?
/usr/bin/env
Тоже таких переменных не выводит.
Но ведьecho GGG >/dev/tty1
приводит к записи в консоль, то есть эта запись таки возможна.
И ведь clear очищает не случайную консоль, а именно ту в которой она запущена.
То есть clear знает что очищать( через /dev/console я полагаю)
С другой стороны bash или sh запускаются в определённых tty, как они это делают?
После изучения вопроса приходим к системам инициализации ОС и файлу /etc/inittab и в нём строки:
1:2345:respawn:/sbin/getty -a root_tty1 38400 tty1
2:2345:respawn:/sbin/getty -a root_tty2 38400 tty2
3:2345:respawn:/sbin/getty -a root_tty3 38400 tty3
4:2345:respawn:/sbin/getty -a root_tty4 38400 tty4
5:2345:respawn:/sbin/getty -a root_tty5 38400 tty5
6:2345:respawn:/sbin/getty -a root_tty6 38400 tty6
Далее надо изучить что это за getty, в манах к этой утилите есть упоминание и других утилит, ну вот почитав мануальник к agetty мне пришло в голову agetty -nl /usr/bin/clear tty1
, тест показал что под рутом это работает.
И не ленись, прочитай в мануальнике что делают опции -n и -l.
Ты прочтёшь для себя нечто удивительное.