Как превратить цикл ls в разные переменные?

Позвольте мне повторить мой вопрос:

Хорошо, новичок здесь, но вот что я пытаюсь сделать:

Я пытаюсь написать сценарий инициализации, который извлекает различные конфигурационные файлы и передает их в различные переменные. Результатом END является создание сценария инициализации, который может запускать несколько экземпляров приложения (redis) путем извлечения различных файлов конфигурации.

Каталог

/etc/conf.d

и файлы в их являются:

foo.conf
bar.conf

Теперь вот что у меня есть для функции:

dir=/etc/conf.d
configFiles='ls ${dir}/*'

for ((i=0, j=1; i< ${#configFiles[@]}; i++, j++)); do
   declare "conf$j"="${configFiles[$i]}"
done
echo $conf1
echo $conf2

conf1 будет распечатан как /etc/conf.d/foo.conf conf2 будет распечатан как " " затем "/etc/conf.d/foo.conf" затем "/etc/conf.d/foo.conf /etc/conf.d/bar.conf"

Мне нужно, чтобы conf2 равнялся bar.conf, но мне также нужно абстрагировать соглашение об именах, потому что имена файла conf могут меняться в зависимости от наших методов развертывания.

Итак, конечный результат - поместить это в функцию и вызвать ее в скрипте инициализации для передачи файлов (например, /etc/init.d/program start foo / start bar)

Спасибо.

0 ответов

Другие вопросы по тегам