Как запустить скрипт bash в vagrant из-под sudo su -? - PullRequest
0 голосов
/ 12 октября 2019

Я вхожу в бродячую оболочку и затем захожу под sudo su - в моем проекте. Далее мне нужно перейти в папку с командой cd / var / www / html и выполнить команду для генерации документов, пусть это будет generate_document. Но проблема в том, что если я пишу сценарий bash для всех этих действий, я останавливаюсь в бродячей оболочке

Я попробовал команду и несколько строк в файле, но ни одно действие не помогло мне.

Как мне написать bash-скрипт, который:

  • вступает в бродяжничество с командой 'vagrant ssh my_crm'
  • выполняет ввод под 'sudo su -'
  • переходит в папку «cd / var / www / html /»
  • выполняет «generate_document»
#!/usr/bin/env bash

cd ~/Desktop/Work/arteccrm/vagrant

first variant
vagrant ssh my_crm -c " sudo su -; cd /var/www/html/; generate_document"

another variant
sudo-s -- "vagrant ssh my_crm; cd /var/www/html/; generate_document"

another variant
vagrant ssh my_crm -c 'sudo su -' && ssh my_crm -c ' cd /var/www/html/; generate_document'

another variant
vagrant ssh my_crm -c 'sudo su - && cd /var/www/html/ && generate_document'

another variant
vagrant ssh my_crm -c 'sudo su -'
vagrant ssh my_crm -c 'cd /var/www/html/'
vagrant ssh my_crm -c 'generate_document'

another variant
vagrant ssh crm -c 'cd /var/www/html/'
vagrant ssh crm -c 'cd /var/www/html/'
cd /var/www/html/ && generate_document

1 Ответ

0 голосов
/ 14 октября 2019

Я нашел решение моей проблемы:

vagrant ssh crm -c 'sudo sh -c "cd / var / www / html /; generate_document"'

...