Автор Гілка: Як розбити скрипт на файли?  (Прочитано 2235 раз)

Відсутній Djalin

  • Письменник
  • *****
  • дописів: 661
  • Карма: +0/-0
Робив я якось скрипт інсталяції,  інколи треба додавати репозиторії, інколи ключі.

З’явилась ідея рознести ці частини (додавання ключів наприклад) в окремі файли

тобто:

Інстал|--репозиторії
         |--ключі

Питання як піключити ці частини? - тобто щоб файл інстал  виконував спочатку  скрипт репозиторії, а потім скрипт ключі, а тоді робив далі те що має робити?

Дякую.



Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: Як розбити скрипт на файли?
« Відповідей #1 : 2014-06-08 21:25:51 »
Уточніть, на чому пишеться скрипт, і яким саме чином ви хочете, щоб воно працювало (тобто в чому саме проблема), бо якщо треба просто виконати два окремих скрипти у шел-скрипті — то чому не підходить

Код: Bash
  1. path/to/script1.sh
  2. path/to/script2.sh
  3.  

або якщо у скриптах використовуються спільні змінні, які мають змінюватися після виконання скрипта

Код: Bash
  1. source path/to/script1.sh
  2. source path/to/script2.sh
  3.  
« Змінено: 2014-06-08 21:27:35 від ISBear »

Відсутній Djalin

  • Письменник
  • *****
  • дописів: 661
  • Карма: +0/-0
Re: Як розбити скрипт на файли?
« Відповідей #2 : 2014-06-08 22:18:32 »
я просто хочу рознести один скрипт на кілька  файлів.

щоб був так би мовити головний, який запускаться та допоміжні

що мається на увазі - є інстал скрипт що ставить власне програми за допомогою apt-get

там же є репозиторії, та команди для додавання ключів

я б хотів репозиторії та ключі винести в два окремі файли, щоб їх зручніше було редагувати

Відсутній Михайло Даниленко

  • Адміністратор ЩОДО
  • Літератор
  • *****
  • дописів: 1262
  • Карма: +0/-0
  • [Debian Stretch]
Re: Як розбити скрипт на файли?
« Відповідей #3 : 2014-06-08 23:18:20 »
Тоді можете зробити або так

Код: Bash
  1. # У файлі для репо
  2. REPO1="repo1"
  3. REPO2="repo2"
  4. # У скрипті
  5. source repofile.sh
  6. do_something_with_repo "$REPO1"
  7. do_something_with_repo "$REPO2"
  8.  

або

Код: Bash
  1. # У файлі для репо
  2. repo1
  3. repo2
  4. # У скрипті
  5. while read repo; do
  6.         do_something_with_repo "$repo"
  7. done < repofile
  8.  
« Змінено: 2014-06-08 23:23:17 від ISBear »