Это форма расширения Brace , выполненная в оболочке. Идея расширения фигурной скобки -верна, но способ ее использования здесь неверен. Когда ты собирался сделать:
systemctl\ {restart,status}\ sshd\;
Оболочка интерпретирует systemctl restart sshd;
как одну длинную команду и пытается выполнить ее, но не может найти двоичный файл для ее выполнения таким образом. Потому что на этом этапе оболочка пытается токенизировать элементы в командной строке перед построением полной команды с аргументами --, но этого еще не произошло.
Для таких известных значений расширения вы можете использовать eval
и по-прежнему быть в безопасности, но будьте уверены в том, что вы пытаетесь расширить с его помощью.
eval systemctl\ {restart,status}\ sshd\;
Но я бы предпочел использовать цикл с for
, вместо того, чтобы пытаться написать один -вкладыш или использоватьeval
:
for action in restart status; do
systemctl "$action" sshd
done
Ваш Pulseaudio работает от имени пользователя, чей домашний каталог установлен как /var/empty
. Обычно это делается для специальных пользователей приложений, созданных для целей разделения привилегий или чего-то подобного. Такой пользователь, вероятно, вообще не должен запускать Pulseaudio.
Используйте grep /var/empty /etc/passwd
, чтобы увидеть, можете ли вы идентифицировать учетную запись пользователя, для которой установлен домашний адрес /var/empty
. Затем узнайте назначение этой учетной записи и либо отключите запуск Pulseaudio для этой учетной записи, либо вообще отключите регулярные входы в эту учетную запись, если прямой вход не требуется.