0

ルーターの再起動後にネットワークが再びオンになったことを検出する次のスクリプトがあります。

#!/bin/bash
pingCommand="ping 192.168.1.1 -c 3 &>/dev/null"

while [[ ! $($pingCommand) ]]; do
   sleep 3s;
done

ただし、ターミナルで実行すると、次のように出力されます。

ping: 不明なホスト &>/dev/null

-x(デバッグを有効にする)オプションを指定してスクリプトを実行したところ、

ping 192.168.1.1 -c 3 &>/dev/null

としてサブシェルで実行されていました

ping 192.168.1.1 -c 3 '&>/dev/null'

コマンド置換呼び出しを変更して、bash が出力リダイレクトを一重引用符で囲まないようにするにはどうすればよいですか?

4

2 に答える 2