
に入りたくありません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)