Superuser: what-is-the-difference-between-executing-a-bash-script-vs-sourcing-it
Short answer: sourcing will run the commands in the current shell process. executing will run the commands in a new shell process.
Подробнее в исходном вопросе/ответе
В приведенном ниже примере показана разница между запуском скрипта и
source
его выполнением:$ cat a.sh export AWS_ACCESS_KEY_ID=key export AWS_SECRET_ACCESS_KEY=secret_key export AWS_DEFAULT_REGION=region $./a.sh $ echo $AWS_ACCESS_KEY_ID $ source a.sh $ echo $AWS_ACCESS_KEY_ID key $
Ладно, мне не помогли, но проблем нет, сам разобрался. Публикация ответа для других, которые столкнулись с той же проблемой.
Проблема была связана с маршрутизацией.
"ip route add 172.16.5.20 via 192.168.22.254 dev ens192 src 192.168.22.11"
Маршрут будет добавлен в таблицу маршрутизации
│Kernel IP routing table
│Destination Gateway Genmask Flags Metric Ref Use Iface
│0.0.0.0 192.168.22.254 0.0.0.0 UG 100 0 0 ens192
│172.16.5.20 192.168.22.254 255.255.255.255 UGH 100 0 0 ens192
│192.168.22.0 0.0.0.0 255.255.255.0 U 100 0 0 ens192
│192.168.22.0 0.0.0.0 255.255.255.0 U 100 0 0 ens192
│192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Но он не сохраняется после перезагрузки или перезапуска службы
Итак, добавьте следующие строки в /etc/sysconfig/network -scripts/ifcfg -interface _name
"172.16.5.20 via 192.168.22.254 dev ens192 src 192.168.22.11"
Теперь при перезапуске путь сохраняется
Конечно, внесите соответствующие изменения в брандмауэр (Firewalld/Iptables)