Как запустить набор команд с циклом for внутри скрипта с другим пользователем (su -c) - PullRequest
0 голосов
/ 20 октября 2019

Мне нужно запустить набор команд, который состоит из циклов for в моем скрипте с конкретным пользователем. Я не знаю, как это сделать без расширения переменных, например, здесь:

su -c "for var in 1 2 3 4 5; do echo '$var' done" someuser

Есть ли способ достичь того, чего я хочу? Я думал о запуске цикла со многими su вызовами, но это выглядит довольно плохо.

РЕДАКТИРОВАТЬ: Как кто-то отметил в комментариях var не расширяется, но я получаю ошибку: sh: 1: Syntax error: end of file unexpected (expecting "done")

1 Ответ

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

вы забыли точку с запятой, я бы так сделал!

su -c 'for var in 1 2 3 4 5; do echo $var; done' user
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...