Предположим, у вас есть файл свойств solr.properties
:
# this is a comment
solr.default.confdir=$HOME/my-conf-dir
# this is another comment
solr.data.home=$HOME/my-data-dir
solr.foo=$FOO
Тогда следующие команды
export FOO=bar
grep '^[^#][^=]*=' <(envsubst '$HOME $FOO' < solr.properties)
заменят переменную $HOME
на домашний каталог и $FOO
с bar
в solr.properties
и grep
для всех строк, не начинающихся с комментария #
и содержащих символ =
.
Вторая команда расширена до
arr=( $(printf -- '-D%s\n' $(grep '^[^#][^=]*=' <(envsubst '$HOME $FOO' < solr.properties))) )
сохранит свойства, добавив -D
в массив arr
.
Полный сценарий запуска будет
#!/bin/bash
export FOO=bar
arr=( $(printf -- '-D%s\n' $(grep '^[^#][^=]*=' <(envsubst '$HOME $FOO' < solr.properties))) )
$SOLR_HOME/bin/solr start "${arr[@]}"