Как перенаправить вывод из /dev/tty в /dev/null?

Так что я заработал, просто используя несколько интерфейсов, сопоставляя каждый интерфейс виртуальной машины с пространством имен. И тогда я смог использовать исходный порт 63999 одновременно в 2 одновременных сеансах

.

ip netns eng51 ifconfig eth1.51 Link encap :Ethernet HWaddr 52 :54 :00 :bd :68 :c3 inet addr :51.51.1.10 Bcast :51.51.1.255 Маска :255.255.255.0

ip netns exec eng52 ifconfig eth2.52 Link encap :Ethernet HWaddr 52 :54 :00 :bd :68 :c3 inet addr :51.51.2.10 Bcast :51.51.2.255 Маска :255.255.255.0

ip netns exec eng522 ifconfig eth3.522 Link encap :Ethernet HWaddr 52 :54 :00 :bd :68 :c3 inet addr :51.51.2.10 Bcast :51.51.2.255 Маска :255.255.255.0

ip netns exec eng511 ifconfig eth4.511 Link encap :Ethernet HWaddr 52 :54 :00 :bd :68 :c3 inet addr :51.51.1.10 Bcast :51.51.1.255 Маска :255.255.255.0

1
07.07.2020, 12:30
1 ответ

изменение сценария

Предполагая, что файловый дескриптор 3 еще не используется:

#!/bin/bash
exec 3>/dev/tty
#exec 3>/dev/null
echo "hello" >&3

Вы открываете fd 3 на /dev/ttyили /dev/null, легко переключается. Затем вы заменяете все > /dev/ttyна >&3.

скрипт не меняется

Решением вне сценария было бы создание пространства имен монтирования (man unshare), выполнение mount --bind /dev/null /dev/ttyв нем, а затем запуск там немодифицированного сценария.

2
18.03.2021, 23:21

Теги

Похожие вопросы