Скалярная переменная в awk может содержать только одну переменную. Вам нужно будет сделать что-то вроде этого:
if (
($1 == "x" && ($2 == 0 || $2 == 1)) ||
($2 == "x" && ($1 == 0 || $1 == 1)) ||
$1 == $2
) print "good"
Debian и Ubuntu в настоящее время являются операционными системами systemd, и разработчики systemd изобрели для этого механизм. (Это применимо и к другим операционным системам systemd; но вы не найдете его в операционных системах Linux, отличных от -systemd, или в BSD, MacOS или различных коммерческих Unices. )Это файл /etc/machine-info
, который содержит, среди прочего, «улучшенную» версию имени хоста.
Это не обязательно должно совпадать с фактическим динамическим именем хоста, которое возвращается gethostname()
библиотечной функцией C (и печатается командами hostname
и uname -n
), которые пользователи systemd вызвать «временное» имя хоста. Вы можете воспользоваться этим, чтобы дать своим машинам «улучшенные» имена хостов, которые будут настолько информативными, насколько вам нравится.
Люди, работающие с systemd, ожидают, что вы запросите и зададите это «преттифицированное» имя хоста с помощью команды hostnamectl
:
# hostnamectl --pretty set-hostname "I am JdeBP's 4o machine." # hostnamectl --pretty I am JdeBP's 4o machine. #
Однако эта команда не читает файл напрямую. Скорее всего, ему нужны два запущенных системных демона: системный демон шины рабочего стола -и демон hostnamed
. Команда взаимодействует с первым демоном, используя сложный внутренний протокол, который затем взаимодействует со вторым демоном, который, в свою очередь, просто читает (и записывает )файл напрямую.
Я сам только что прочитал файл.
$ clearenv read-conf --oknofile /etc/machine-info printenv PRETTY_HOSTNAME I am JdeBP's 4o machine. $
machine-info
. справочные страницы systemd. Freedesktop.org. systemd-hostnamed.service
. справочные страницы systemd. Freedesktop.org. hostnamectl
. справочные страницы systemd. Freedesktop.org. read-conf
». Вручную . нош набор инструментов. Программное обеспечение. clearenv
». Вручную . нош набор инструментов. Программное обеспечение. printenv
». Вручную . нош набор инструментов. Программное обеспечение. Обычно в Unix/Linux это делается в файлах /etc/motd
или /etc/issue
и /etc/issue.net
. Когда люди входят в систему через консоль или через SSH, им будет представлено содержимое этих файлов.
Помимо этого, внешние системы обычно используются для управления любыми метаданными, касающимися назначения системы. Эта категория программного обеспечения называется управлением активами и запасами.
Тот, с которым я больше всего знаком, это Solarwinds (коммерческий ). Я ничего не рекомендую, просто привожу пример. Есть и другие, перечисленные в альтернативе . ПРИМЕЧАНИЕ.:Отнеситесь к этому списку с долей скептицизма: не все из них идентичны по функциям.
$ cat /etc/motd
Company X Ltd. CentOS 7 Build 1805.02
Когда вы войдете в систему, вы увидите, как это отображается:
$ vagrant ssh box-101
Last login: Mon Jul 9 19:32:36 2018 from gateway
Company X Ltd. CentOS 7 Build 1805.02
[vagrant@centos7 ~]$
$ cat /etc/issue
This system is the property of Company Ltd.
Затем при входе в систему: