Использование NC в For Loop для ввода через массив с IP-адресами - синтаксическая ошибка: недействительный арифметический оператор

В / ect / hosts говорится, что хост сайта - xxxxxx.com, но вы можете получить к нему доступ под другим именем zzzzzzz.com. Итак, где вы можете установить эту настройку?

Я бы начал проверять

маршрутизатор. для DNS-сервера. Поскольку это называется vps, это может быть виртуальная система.

В / ect / hosts говорится, что хост сайта - xxxxxx.com, но вы можете получить к нему доступ под другим именем zzzzzzz.com. Итак, где вы можете установить этот параметр?

Также мое имя хоста отображается как vps и какова логика этого

1
задан 24 March 2018 в 05:20

3 ответа

Кажется, что вы хотите перебирать индексы двух массивов - что вы можете сделать, используя косвенное

#!/bin/bash
IP_Addresses=(
172.217.6.142
191.239.213.197
)
FILE_Name=(
"google"
"microsoft"
)
for i in "${!IP_Addresses[@]}"
do
    nc -w2 -zv4  "${IP_Addresses[$i]}" 1-100 > "${FILE_Name[$i]}".log 2>&1
done

. Также должны быть согласованы имена ваших переменных (FILE_Name по сравнению с FILE_NAME) и получить привычку цитирования переменных разложений.

0
ответ дан 8 June 2018 в 15:18
  • 1
    Спасибо за советы. Я попытался использовать $i вместо @ в команде ЧПУ, но я получаю ту же ошибку, но только для первого элемента массива – Christian Sirolli 24 March 2018 в 05:15
  • 2
    Проблема, как мне кажется, заключается в том, что она пытается проанализировать ip-адрес как число, но терминал не поддерживает числа с таким количеством десятичных знаков как плавающее число – Christian Sirolli 24 March 2018 в 05:16
  • 3
    @ChristianSirolli вы помните, изменение переменной цикла в косвенные [Ф1] как я показал, а не [Ф2]? – steeldriver 24 March 2018 в 05:20
  • 4
    Не знаю, почему я этого не видел. Казалось, что это работает – Christian Sirolli 24 March 2018 в 05:24

Кажется, что вы хотите перебирать индексы двух массивов - что вы можете сделать, используя косвенное

#!/bin/bash IP_Addresses=( 172.217.6.142 191.239.213.197 ) FILE_Name=( "google" "microsoft" ) for i in "${!IP_Addresses[@]}" do nc -w2 -zv4 "${IP_Addresses[$i]}" 1-100 > "${FILE_Name[$i]}".log 2>&1 done

. Также должны быть согласованы имена ваших переменных (FILE_Name по сравнению с FILE_NAME) и получить привычку цитирования переменных разложений.

1
ответ дан 17 July 2018 в 18:12

Кажется, что вы хотите перебирать индексы двух массивов - что вы можете сделать, используя косвенное

#!/bin/bash IP_Addresses=( 172.217.6.142 191.239.213.197 ) FILE_Name=( "google" "microsoft" ) for i in "${!IP_Addresses[@]}" do nc -w2 -zv4 "${IP_Addresses[$i]}" 1-100 > "${FILE_Name[$i]}".log 2>&1 done

. Также должны быть согласованы имена ваших переменных (FILE_Name по сравнению с FILE_NAME) и получить привычку цитирования переменных разложений.

1
ответ дан 23 July 2018 в 19:01

Другие вопросы по тегам:

Похожие вопросы: