Преамбула: Никогда ранее не создавал сценарий командной оболочки. Итак, и прежде всего, я даже не уверен, что это правильный инструмент для работы. Если это не так, пожалуйста, и прежде всего, дайте мне знать, что, по вашему мнению, является лучшей альтернативой.
Контекст: я часто выполняю повторяющиеся задания каждый раз, когда пытаюсь настроить веб-сайт. Я хочу автоматизировать эти задачи, выполнив одну или две команды. ОБНОВЛЕНИЕ: Общий хост основан на Unix. Локальные машины - это Mac OS X, а также Unix.
В качестве примера, вот некоторые из задач (команд), которые я часто выполняю:
SCP:
scp ~/local/path/general_web_app/.bash_profile USERNAME@HOSTNAME.com:/home/HOSTNAME/.bash_profile
scp ~/local/path/general_web_app/.gitconfig USERNAME@HOSTNAME.com:/home/HOSTNAME/.gitconfig
SSH напрямую:
ssh USERNAME@HOST.COM
cd /www/www/
git init
git add .
git commit -a -m "first commit"
cd ~/private/ && mkdir repos
РЕДАКТИРОВАТЬ, НАЙТИ, ЗАМЕНИТЬ СОХРАНИТЬ И ВЫЙТИ:
pico ~/remote/private/repos/general_hub.git/hooks/post-update
replace "user" WITH "hostname";
hit "cmd x"
hit "y"
AFAIK: Это разные виды задач, которые я хочу, чтобы сценарий выполнял.
Вопрос 1: Может ли bash-скрипт обрабатывать SCP, SSH напрямую и EDIT FIND REPLACE SAVE AND EXIT?
Вопрос 2: Некоторые параметры должны быть заданы пользователю, который запускает сценарий, и эти параметры должны использоваться для помещения в некоторые файлы (заменив определенные ключевые слова там, где они есть) - это можно сделать?
Вопрос 3: Должны ли мы копировать файлы на удаленный компьютер и редактировать непосредственно на удаленном компьютере, или, если мы хотим получить файлы локально, "отредактировать их локально во временном местоположении", а затем поместить их на сервер? Я предполагаю, что второе намного сложнее.
Какие-нибудь примеры, которые я могу посмотреть?
Заранее большое спасибо