Вы не можете ничего распечатать в неинтерактивном сеансе. Это нарушает работу любых клиентов, использующих строгий протокол, такой как SFTP или SCP.
Используйте / etc / motd
(который используется только для интерактивных сеансов).
Или используйте директиву sshd_config
Баннер
.
Или проверьте интерактивный сеанс перед печатью чего-либо (например, проверив наличие переменных TERM
или приглашения
).
Историю см. В моем ответе на вопрос о сбое сервера SSH MOTD для каждого пользователя .
iwgetid -r
— мощная команда, поскольку вам не нужно задавать имя интерфейса, его можно заменить следующей строкой :
iw dev <interface> link | awk '/SSID/{print $2}'
Если вам нужна более простая и быстрая команда, вы можете использовать:
iw <interface> link|grep SSID | awk '{print '$2'}'|sed -u -e 's/SSID: //'
-Вы, должно быть, имеете в виду эту разницу: если мы используем only, у нас будет только первое имя сети, если оно составлено, а не полное имя, как в этих примерах.
iw <interface> link | grep SSID | awk '{print $2}'
-Здесь у вас есть только 1-й. название.
iw <interface> link | grep SSID | awk '{print '$2'}'
-Таким образом, вы получаете полное имя, даже если оно составлено.
Остальная часть кода просто удаляет указание «SSID :» из ответа, упрощая его.
iw <interface> link | grep SSID | awk '{print '$2'}' | sed -u -e 's/SSID: //'