У мене є система, до якої я можу входити лише під своїм ім'ям користувача (myuser), але мені потрібно запускати команди як інший користувач (сценарій). Поки що я придумав наступне для запуску потрібних мені команд:
ssh -tq myuser@hostname "sudo -u scriptuser bash -c \"ls -al\""
Якщо все ж, коли я намагаюся запустити більш складну команду, наприклад, [[ -d "/tmp/Some directory" ]] && rm -rf "/tmp/Some directory"
я швидко потрапляю в проблеми з цитуванням. Я не впевнений, як я міг би передати цю прикладну складну команду bash -c
, коли \"
вже розмежовує межі команди , яку я передаю (і тому я не знаю, як цитувати / tmp / Some каталог, який включає пробіли.
Чи є загальне рішення, яке дозволяє мені передавати будь-яку команду, незалежно від того, наскільки складне / божевільне цитування, чи це якесь обмеження я досягнув? Чи існують інші можливі та, можливо, читабельніші рішення?