Автоматизировать рабочий процесс в оболочке

Исходя из интерфейсов графического интерфейса, я пришел, наконец, понять, что у меня все в тексте, но я действительно не знаю, как использовать всю эту мощь.

Я понял, что рабочий процесс для конкретного проекта выглядит следующим образом …

# compile repo 1 cd ~/workspace/repo1 make -B # deploys compiled code into repo2 make deploy # commit repo 1 cd ~/workspace/repo1 git add . git commit -m "changes" git push origin master # commit repo 2 cd ~/workspace/repo2 git add . git commit -m "changes" git push origin master 

Мой вопрос заключается не столько в том, как это сделать, но в том, что это правильный инструмент для этого? Чтение вокруг кажется, что сценарий Bash – это то, что мне нужно, но я хотел бы узнать от экспертов.

2 Solutions collect form web for “Автоматизировать рабочий процесс в оболочке”

У вас очень хорошее начало, набрав все это в одном месте.

Скопируйте все это в текстовый файл (например, workflow.sh , но имя действительно не имеет значения), затем поместите это в первую строку файла :

 #!/bin/sh 

Теперь у вас есть сценарий оболочки. Сделайте его исполняемым:

 chmod +x workflow.sh 

Теперь вы можете запустить его как команду:

 ./workflow.sh 

Он будет выполнять каждую из этих команд, чтобы просто вызвать рабочий процесс.

Теперь вы начинающий системный программист. Вы можете только подняться оттуда.

Обновить

Чтобы указать изменения без необходимости редактировать сценарий каждый раз, когда вы должны изменить:

 git commit -m "changes" 

Читать:

 git commit -m "$1" 

Затем вы можете передать изменения в качестве аргумента командной строки:

 ./workflow "Describe changes made" 

Другими полезными инструментами являются псевдонимы и PATH . Вы можете создать специальный каталог (например, ~/bin ) и поместить там все сценарии, добавить этот каталог в переменную PATH и вам не нужно вводить полный путь к скрипту каждый раз, когда вы хотите его запустить. В случае с псевдонимами вам нужно создать псевдоним для каждого скрипта, однако иногда псевдоним более удобен из-за того, что вы можете указать в нем разные параметры запуска.

Вы можете организовать свой код с помощью python utils: https://wiki.python.org/moin/FlowBasedProgramming

Другой пакет, не упомянутый выше, но по-прежнему многообещающий, – Snakemake.

  • Мне нужно сделать файл undeleteable, но разрешить его модификацию и переименование
  • Проблема использования пользовательской переменной в скрипте
  • Сценарий оболочки возвращает 126 код выхода из crontab
  • Захват управления клавиатурой в сценарии оболочки
  • Как создать md5-файл для каждой папки в рекурсивном диске?
  • Запуск команды в новом окне терминала через Python
  • Как запустить скрипт bash при аутентификации ssh?
  • Печатать содержимое файла и удалять напечатанное содержимое * из файла
  • Сценарий с ошибкой «команда не найдена: ^ M»
  • Переменная Bash в скрипте Awk
  • Как запустить скрипты MYSQL из сценария оболочки с переменными bash?
  • Как я могу передать позиционный параметр, сценарий bash требует, чтобы он был недоступен?
  • Interesting Posts

    mdadm 2x Raid 5 недостающих дисков

    Набор символов почты для норвежских символов

    работающее с ванильным ядром с дистрибутивом LTS

    Просмотр двоичного кода не шестнадцатеричного

    Многопользовательский режим X11, конфликты указателей

    Как я могу использовать wget для создания списка URL-адресов из index.html?

    Есть ли какой-либо инструмент для просмотра статистики в реальном времени о графическом процессоре Radeon?

    Есть ли файловая система, которая позволяет мне вставить некоторый блок в середине файла в O (1)?

    Где я должен хранить личные файлы, чтобы они были безопасны при переустановке системы?

    Как скопировать файл с одного сервера на другой с помощью промежуточного сервера?

    Почему GREP выводит двоичные файлы, а не один файл с именем «0.jpg»?

    Простейший способ хэширования паролей с несколькими различными алгоритмами хэша

    как проверить, правильно ли настроен MTU 9000 на всех компонентах

    Проблема с полномочиями Automount USB Storage Permissions; FreeBSD 10.3

    Синхронизация времени VirtualBox

    Linux и Unix - лучшая ОС в мире.