Я веб-разработчик, который запускает два сценария во время веб-разработки. Один следит за изменениями CSS, а другой следит за изменениями JS. Когда изменение обнаружено, оно объединит и объединит соответствующие файлы. Вы можете остановить "наблюдение" за изменениями, нажав Ctr-c'ing и остановив каждый процесс.
Я просто использовал окна Tmux для запуска этих сценариев, но другие разработчики, которые не используют screen или tmux, просят объединить эти сценарии оболочки "watch" в один файл. Я не уверен, как это сделать, потому что, когда я объединял их, запускается только один процесс, а когда я нажимаю Ctrl-c, другой процесс начинает наблюдать. Оптимально был бы способ заставить их работать с одним вызовом и остановить оба процесса при отправке вызова остановки.
Я предполагаю, что мне нужно раскошелиться, но я не уверен, как это сделать. Скрипты используют стандартный bash и работают на всех Unix-системах. Вот код на данный момент:
#!/bin/sh
# Watch for js template changes.
./template-watch.sh
# Watch for changes in sass files and render them to CSS files.
sass --watch --style=compressed ../src/scss:../assets/css