LINUX.ORG.RU

История изменений

Исправление 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.
Ты прочтёшь для себя нечто удивительное.