2012-04-19 2 views

ответ

5

Су не может быть запущен в сценарии Bash. Однако вы можете использовать sudo -u <user> <command> &&.

+2

Не совсем верно. Можно запустить su из скрипта, пока вы даете ему терминал. Например: 'ssh -t user @ localhost" su -c whoami "' – qwertyboy

-2

вы можете сделать:

су - $ USER -l -m -c $ CMD

-l обеспечить среду, аналогичный вход окр -m сохраняет текущее окружение -c прогон команда

eg Я использую это для запуска поЬир команды также

су - $ USER -l -m -c "поЬир $ RUN_CMD> "$ LOG" 2> & 1 >>/DEV/нуль &"

7

Это работает для меня внутри сценария bash:

whoami; 
sudo su $user << BASH 
    whoami; 
BASH 
+2

Работает только там, где доступно sudo. Debian не имеет команды sudo. – twicejr

Смежные вопросы