ルーターの再起動後にネットワークが再びオンになったことを検出する次のスクリプトがあります。
#!/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 が出力リダイレクトを一重引用符で囲まないようにするにはどうすればよいですか?