bash:ping主机名(errormessages:对于bash来说价值太大了)

时间:2017-06-16 09:06:21

标签: bash ping hostname

基本上我正在读取sql-datebase中的一些mac-addresses。然后我将它们解析成一个可ping的主机名(添加后缀和前缀)。 然后我遍历数组并ping那些主机名,并在数组的LAST值中收到错误消息:

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-address成功的mac-address-array的最后一行?

1 个答案:

答案 0 :(得分: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是一个命令,因此您不应将其用作变量。