Назад | Перейти на главную страницу

Как написать сценарий оболочки для OS X для входа на удаленный сервер через SSH и выполнения команд

Это кажется достаточно простым ... Я пытаюсь написать сценарий, который я могу просто дважды щелкнуть в OS X. Сценарий должен войти через SSH на удаленный сервер, запустить git commit и выйти. Когда я копирую / вставляю свои команды в терминал, они работают, но когда я сохраняю их в файле .command, кажется, что он подключается, но затем зависает, если я ввожу exit в открывшееся окно терминала, сценарий продолжится с того места, где он остановился .

Скрипт / команды просто:

#!/bin/sh
echo "**** committing remote changes on remote ****"
ssh username@server.com
cd /home/username/git/repo/
git commit -m "remote server commit"
exit

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

Я не думаю, что это актуально, но сервер, к которому я обращаюсь, - это общий веб-хост BlueHost / HostMonster с заключенной в тюрьму оболочкой.

Не пробовал писать сценарии с Mac, но попробуйте следующее: ssh username@server.com 'cd /home/username/git/repo/ && git commit -m "remote server commit"'