私は私のネットワークは私のルータを再起動した後、背面に来るときを検出するには、次のスクリプトを持っている:ターミナルで実行した場合コマンドが変数として渡されたときにstdout/stderrリダイレクションをコマンドのサブプログラムに含めるにはどうすればよいですか?
#!/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
はbashが出力リダイレクトの周りに単一引用符を入れないように、どのように私はコマンド置換の呼び出しを変更できますか?
ping 192.168.1.1 -c 3 '&>/dev/null'
としてサブシェルで実行していましたか
http://mywiki.wooledge.org/BashFAQ/050 – 123