Вы можете использовать команду wall
для отправки сообщения на все терминалы:
SYNOPSIS
wall [-n] [-t timeout] [-g group] [message | file]DESCRIPTION
wall displays a message, or the contents of a file, or otherwise its standard input, on the terminals of all currently logged in users.
Вы можете настроить sshd
для использования PAM (, если он доступен в Solaris ), и использоватьpam_exec
(https://linux.die.net/man/8/pam_exec)для получения уведомлений каждый раз, когда происходит вход в систему SSH. На этом этапе, вероятно, еще не определено, является ли это сеансом SFTP. Вы можете запустить скрипт в фоновом режиме, который каким-то образом проверяет наличие SFTP.
Я бы всегда использовал unset
.
Различные формы раскрытия переменной позволяют увидеть, установлена она или нет.
echo ${X:- X is set and not empty}
echo ${X- X is set, maybe empty}
Тоньше, чем я помнил. Я никогда раньше не использовал версию :=. Оцениваются слева направо, и назначения вступают в силу немедленно.
Это также может быть интересным назначением :
, встроенного -в команду "Ничего не делать".
Paul--) unset X
Paul--) printf '%s\n' "${#X}" "${X:-foo}" \
> "${#X}" "${X:=foo}" \
> "${#X}" "${X:-why}"
0
foo
0
foo
3
foo
Paul--)