Использование кавычек при использовании SSH

Я пытаюсь создать простой сценарий развертывания для своих приложений PHP. Я знаю, что есть несколько инструментов для этой работы (Capistrano, Phing и т. Д.), Но они кажутся мне очень трудоемкими для моей простой процедуры развертывания.

Я использую sshpass , чтобы не вводить пароль повторно и снова. Но после загрузки моего сжатого установщика мне нужно установить ssh на сервер и выполнить несколько команд. Один из них - sed. Итак, цитаты нарушают мой сценарий. Это примерно так:

sshpass -p foo ssh user@host "
   cd /www/htdocs/foo/bar 
   echo 'Untar and remove installer'
   tar -zxf install.tar.gz

   sed "s/define('ENVIRONMENT', 'development');/define('ENVIRONMENT', 'production');" index.php > tmp && mv tmp index.php
   sed "s/define('ENVIRONMENT', 'development');/define('ENVIRONMENT', 'production');/" admin/index.php > tmp && mv tmp admin/index.php

"

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

Мы будем очень признательны за любые предложения. Спасибо!

8
задан codeforester 9 May 2018 в 16:19
поделиться