zypper ps -sssの出力をsystemctl restartにパイプします。

zypper ps -sssの出力をsystemctl restartにパイプします。

に入りたくありませんzypper up。代わりに、示されているように削除されたファイルですべてのサービスを再起動したいと思いますzypper ps -sss

似たようなことができると思いましたがzypper ps -sss | tr '\n' ' ' | systemctl restart失敗しました。

引数が少なすぎます。

また、ファイルに書き込んで入力として試しましたが、systemctl restart < myfile.txt同じ結果が得られました。

結局使った

systemctl restart $(zypper ps -sss | tr '\n' ' ')

2つの質問があります。

1)systemctlに値をパイプする方法は?

2)表示されているすべてのサービスを再起動するより良い方法はありますかzypper ps

ベストアンサー1

1)値をどのように入力しますかsystemctl

systemctl restart標準入力以外の引数でデバイス名を渡すことはできません。ユニット名を収集して$(...)パイプを介して渡すのではなく、引数(たとえば)に渡す便利な方法があるため、これには問題はありません。

2)表示されているすべてのサービスを再起動するより良い方法はありますかzypper ps

まさか。まあ、小さな改善があります。tr引用符なしでコマンドを使用すると、スペースを区切り$(...)文字として使用して複数の引数が提供されるため、実際にはそのコマンドは必要ありません。したがって、これで十分です。

systemctl restart $(zypper ps -sss)

おすすめ記事