Как запустить несколько файлов конфигурации с помощью сценария?

Измените все репозитории URL с 42.1 на 42.2

http://download.opensuse.org/distribution/leap/42.2/repo/oss/

И документация для обновления dist: https://en.opensuse.org/Upgrade часть Командная строка

Добавить packman в репозитории. См. https://en.opensuse.org/Additional_package_repositories#Packman

http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.2/

Сделайте "zypper" dup "

1
05.09.2017, 01:53
2 ответа

Вы должны решить, хотите ли вы эту обработку внутри (, например rsyslog), или вне скрипта. Если хочешь

./my_script.sh./*.conf

для работы необходимо адаптировать скрипт так, чтобы он принимал несколько параметров. Что-то вроде

for config_file; do
   . "$config_file"
done

Либо вы жестко -кодируете, либо каким-то образом передаете директорию с этими файлами:

for config_file in /path/to/configs/*.conf; do
   . "$config_file"
done
2
27.01.2020, 23:24

Что должно произойти, когда вы выполните ./my_script.sh./*.conf, так это то, что глобус расширится до ./my_script.sh./a.conf./b.conf./etc...conf.

Если вы хотите запустить ./my_script.shдля каждого файла вашего глобуса, вам может подойти следующее:

$ ls -1./*.conf | while read CONF; do./my_script.sh "$CONF"; done

Объяснение:ls -1используется для расширения глобуса, по 1 файлу в строке. while read CONFзапускает цикл для каждой строки.


В качестве альтернативы вы можете использовать ./my_script.sh./*.confи внутри вашего скрипта использовать $*, который будет содержать развернутый глобус, или $1, $2, $3,... которые соответствуют отдельные позиционные аргументы, разделенные пробелом.

1
27.01.2020, 23:24

Теги

Похожие вопросы