É uma forma de Expansão de órtese feita no shell. A ideia de expansão de brace está certa, mas a forma como foi usada está incorreta aqui. Quando você pretendia fazer:
systemctl\ {restart,status}\ sshd\;
O shell interpreta systemctl restart sshd;
como um comando longo e tenta executá-lo, e não foi possível localizar um binário para executá-lo dessa maneira. Porque neste estágio, o shell tenta tokenizar os itens na linha de comando antes de construir o comando complete com argumentos - mas isso ainda não aconteceu.
Para esses valores de expansão conhecidos, você pode usar eval
e ainda ser seguro, mas tenha certeza do que está tentando expandir com ele.
eval systemctl\ {restart,status}\ sshd\;
Mas eu prefiro usar um loop com for
, em vez de tentar escrever um one-liner ou usar eval
:
for action in restart status; do
systemctl "$action" sshd
done