systemd-run
なぜこれらのコマンドグループを渡すことができないのですか?
$ systemd-run --on-active=1 { cp file1 file2 && echo hi; }
Failed to find executable {: No such file or directory
私は引用符、中かっこ、サブシェルのさまざまな組み合わせを試しましたが、成功しませんでした。私はこれがシェル - Linuxの違いの問題かもしれないと思います。
調べたhttps://www.freedesktop.org/software/systemd/man/systemd.service.html#Command%20linesしかし、そこでも解決策が見つかりません。
確かにコマンドをスクリプトに入れることができますが、ここで何が欠けているのかを知りたいです。どんなアイデアがありますか?
状況によってはまったく異なる解決策があるかもしれません。
別のコマンドで最初に削除しない限り(新しいネットワーク設定が成功した場合)、以前に作成されたバックアップファイルをコピーして、特定のカウントダウン後にネットワーク設定をリセットするソリューションを作成しようとしています。
systemd-run
成功時にのみ再起動が行われる2つのコマンドを実行する一時タイマーを使用してソリューションを試しています。cp
systemd-run --on-active=300 { cp /etc/systemd/network/10-wired.network.backup /etc/systemd/network/10-wired.network && systemctl restart systemd-networkd; }
ベストアンサー1
シェルを起動し、コマンド文字列にコマンドを渡すことができます。
systemd-run --on-active=300 sh -c '
cp /etc/systemd/network/10-wired.network.backup /etc/systemd/network/10-wired.network &&
systemctl restart systemd-networkd.service'