Можно попробовать следующее:
$ cat filename
012345,"[ThinkPadT2/3Gband,Mac]",Lenovo,"iPhone3G,A1241"
$ cat filename | sed -E 's:([A-Z,a-z]),([A-Z,a-z]):\1|\2:g'
012345,"[ThinkPadT2/3Gband|Mac]",Lenovo,"iPhone3G|A1241"
-121--290224-
Избегайте выполнения команд на хост-компьютере, исходящих с веб-страницы. Это рецепт катастрофы.
Посмотрите на виртуализацию уровня операционной системы . В зависимости от операционной системы можно использовать зоны , камеры или LXC .
Эти экземпляры уровня ОС имеют очень низкие накладные расходы и могут быть быстро инициированы. Они обеспечивают разделение между ОС хоста и средой пользователя. Это не так безопасно, как полностью виртуализированная машина, но этого может быть достаточно для вашего варианта использования.
-121--290218-
Файлы, подлежащие упаковке, должны быть установлены/изолированы в теневом дереве.
Обычно это делается путем переопределения команды] DESTDIR, как
make DESTDIR=%{buildroot} install
в разделе% install.
Вам необходимо разделить файл конфигурации и экземпляр OpenVPN для каждого подключения. Пакет Debian (, возможно, аналогичный другим дистрибутивам Linux ), запускает экземпляр OpenVPN для каждого файла конфигурации в /etc/OpenVPN. Маршруты для каждого соединения не должны конфликтовать.