2017-06-16 8 views
0

基本的には、SQL-datebaseからいくつかのmac-addressを読み込んでいます。次に、それらをping可能なホスト名(接尾辞と接頭辞を追加する)に解析します。 それから私は、配列をilterateおよびそれらのホスト名をpingし、配列の最後の値で、私はエラーメッセージが表示されます。bash:pinging hostnames(errormessages:bashにとって値が大きすぎる)

value too great for base (error token is "64167f066aa1") 

私のコードは次のように現在になります

MAC = 'reading from sql-db' 
for i in "${MAC[@]}" 
do 
NMAC+=($(echo -n "prefix_" && echo -n $i && echo ".suffix")); 
done 
ping=($(ping -c 1 ${NMAC[$i]} &> /dev/null && echo success || echo fail)) 

とで私は問題の変数のpingを使用してコードを次:

ping -q -c1 ${NMAC[$i]} > /dev/null 
if [ $? -eq 0 ] 
then 
echo "online" 
else 
echo "offline" 
fi 

を君たちには、任意のアイデアを持っていますか?以前のMACアドレスがすべて成功したときに、常にMACアドレス配列の最後の行ですか?あなたは変数としてそれを使用するべきではありませんので、

答えて

0

変更

ping=($(ping -c 1 ${NMAC[$i]} &> /dev/null && echo success || echo fail)) 

PING=($(ping -c 1 ${NMAC[$i]} &> /dev/null && echo success || echo fail)) 

へのpingコマンドです。

+0

これは機能していないようですが、表示されています。私はコマンドと同等のvariablenameを持っていることを混乱させる。 – JMAD2016

関連する問題