1) How can I pipe values into
systemctl
?
Você não pode, systemctl restart
considera os nomes das unidades como argumentos, não da entrada padrão. Não há nada de errado com isso, já que você tem maneiras convenientes de coletar os nomes das unidades e passá-las como argumentos (ou seja, $(...)
) em vez de através de um pipe.
2) Is there a better way to restart all services shown by
zypper ps
?
Não realmente. Bem, há uma pequena melhoria na medida em que você realmente não precisa do comando tr
, pois usar $(...)
sem aspas indicará vários argumentos, usando qualquer espaço em branco como separador. Então, isso deve ser o suficiente:
systemctl restart $(zypper ps -sss)