2017-07-13 8 views
0
#!/bin/bash 
MAX=20 
while true 
do 
iwconfig wlan0 txpower $(((RANDOM % $MAX) +1)) 
set -x #this was not originally included 
echo iwconfig wlan0 | grep Tx-Power 
done 

私は小さなスクリプトを使ってデバイスの最大出力以下の出力を変えようとしています。私はこれまで何の問題もなく仕事をしていましたが、今ではこのスクリプトを改訂しました。それ以来、私はホストとVMを変更しました。これはset-xを実行していない状態で実行されています。各行は個別に動作しますが、スクリプト内ではエコーを画面に出力しません。iwconfig grepはスクリプトの一部として出力します

set -xを追加すると動作しますが、echos set -xやdoneなども画面に表示されます。

この変化をもたらしていると私は修正可能性がどのようにどのようなすべてのアイデア

+0

この行の意味は何ですか?:echo iwconfig wlan0 | grep Tx-Power –

+0

これはiwconfigコマンドを実行し、出力をgrepにパイプし、grepはコマンドからTx-Powerビットを取り出して画面に表示する必要があります。 本質的に私は、カードの出力が何であるかの実行リストを望みます。これは他のコンテンツなしで表示されるべきです – crashoveride

答えて

0

あなたのスクリプトが無限ループで実行さ それはまた次の行が含まれます。単にそう

echo iwconfig wlan0 | grep Tx-Power 

あなたを"iwconfig wlan0"という文字列をエコーし​​、このスクリプトで "Tx-Power"を見つけようとします。

への変更この行を:

iwconfig wlan0 | grep Tx-Power 

ので、少なくともあなたは、出力に送信電力を見ることができます。

+0

ありがとうございました。 – crashoveride

+0

@crashoveride、これで問題が解決し、問題の原因が分かった場合は、答えの左側にあるチェックマークをクリックして問題を終了してください。 – ghoti

関連する問題