基本上我正在读取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的最后一行?
答案 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是一个命令,因此您不应将其用作变量。