Как превратить цикл 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)
Спасибо.