Вместо:
cp app/index.html.mob MobileApp/www/index.html
sed -i'' "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g" MobileApp/www/index.html
Просто сделайте:
sed "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g" \
< app/index.html.mob > MobileApp/www/index.html
Вы также можете удалить зависимость от ksh93
/bash
, изменив верхнюю часть на:
environment=$1
case $environment in
"") environment=beta;;
live|beta) ;;
*)
printf >&2 'Invalid environment: "%s"\n' "$environment"
exit 1;;
esac
См. также environment=${1:-beta}
.
BTW, [[ $environment =~ (live|beta) ]]
в ksh93
и bash
проверяет, содержит ли $environment
live
или beta
, что не похоже на то, что вы хотите. Вам нужно [[ $environment =~ ^(live|beta)$ ]]
для проверки того, является ли оно live
или beta
.
Мне кажется, что ваш подход к этому немного противоречит интуиции. Обычно вы настраиваете брандмауэр на реальном сервере, на котором находится веб-приложение.
Если вы используете firewalld, это довольно тривиально. Вы можете увидеть имена всех служб, с которыми он может работать, по имени, используя эту команду:
$ firewall-cmd --get-services
веб-имена $ firewall-cmd --get-services | grep -oE '\shttp[s]*'
http
https
Чтобы разрешить эти два протокола в виртуальной машине:
$ firewall-cmd --permanent --add-service http --add-service https
success
$ firewall-cmd --reload
success
Теперь ваш брандмауэр настроен следующим образом:
$ firewall-cmd --list-all
public (active)
target: DROP
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client http https
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Выше указано, что 4 службы разрешены, все остальные будут удалены (DROP )на основе цели по умолчанию.