Если у вас действительно есть несколько файлов с парами varName=value
, то все, что вам нужно сделать, это исходник. Итак, пройдитесь по всем файлам .properties
и создайте исходный текст каждого из них:
for file in /path/to/MyProperties/*.properties; do
. "$file"
done
Теперь все переменные определены в вашем скрипте. Для иллюстрации:
$ cat foo.properties
foo="bar"
$ echo "$foo" ## no value
$ . ./foo.properties
$ echo "$foo"
bar
Это предполагает, что ваши файлы .properties
не содержат ничего, кроме пар переменная=значение. При сорсинге каждая строка файла будет выполняться в оболочке, в которой запущен сценарий, выполняющий сорсинг. Таким образом, любые команды в ваших файлах .properties
также будут выполняться. И любой злоумышленник, имеющий доступ к MyProperties
, может добавить туда вредоносную команду. Поэтому делайте это, только если вы уверены в содержимом файлов.
Обратите внимание, что важно, чтобы путь, указанный .
содержал символ /
(отсюда ./foo.properties
выше), поскольку иначе файл будет искаться в каталогах $PATH
, а не в текущем каталоге (в случае bash
и когда он не в режиме соответствия POSIX, . file
ищет file
в текущем рабочем каталоге, если он не был найден в $PATH
).
Сначала:Можете ли вы пропинговать адрес шлюза с вашего хоста?
# ping 195.131.48.41
PING 195.131.48.41 (195.131.48.41) 56(84) bytes of data.
64 bytes from 195.131.48.41: icmp_seq=1 ttl=57 time=1.41 ms
64 bytes from 195.131.48.41: icmp_seq=2 ttl=57 time=1.31 ms
64 bytes from 195.131.48.41: icmp_seq=3 ttl=57 time=1.34 ms
^C
--- 195.131.48.41 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 1.317/1.358/1.411/0.039 ms
Нормально могу.
Второй:Я могу пропинговать каждый адрес из вашего пула. Это нормально? Вы уверены, что вам принадлежат эти адреса?
64 bytes from 195.131.48.42: icmp_seq=1 ttl=57 time=1.27 ms
64 bytes from 195.131.48.43: icmp_seq=1 ttl=57 time=1.60 ms
64 bytes from 195.131.48.44: icmp_seq=2 ttl=57 time=1.31 ms
64 bytes from 195.131.48.45: icmp_seq=1 ttl=57 time=1.38 ms
64 bytes from 195.131.48.46: icmp_seq=1 ttl=57 time=1.32 ms
Третий:Я предполагаю, что для каждого ip-адреса есть соответствующий mac . Вам необходимо запросить пару ip -mac у вашего провайдера. Обычно это можно сделать в панели администратора.
После этого вам необходимо изменить конфигурацию виртуальной машины. Вы можете сделать это с помощью:
virsh edit vm_name
Если вы создаете новую виртуальную машину с virt-install
define mac
param (пример не содержит полного набора параметров):
virt-install --name vm_name \
--network bridge=kvmbr0,model=virtio,mac=00:00:00:00:00:00 \
...
Последнее:я думаю, вы получите больше информации о вашей проблеме от технической поддержки хостинг-провайдера.
У какого устройства адрес вашего маршрутизатора (угадывается как.41 )? Если не хост, то гостю потребуется путь через хост, чтобы добраться до маршрутизатора -, потребляющего один из ваших 5 оставшихся общедоступных IP-адресов.