28 янв. 2010 г.

Запуск программы с изменённым окружением

Если нужно выставить (или переопределить) для запускаемой программы какую-нибудь переменную окружения, проще всего сделать так:

$ MYVAR=1 MYOTHERVAR=2 ./myscript.sh args

Но, иногда, такая запись не работает. Например тогда, когда нужно выполнить программу от имени другого пользователя. На помощь приходит /usr/bin/env:

$ sudo su - other_user -c '/usr/bin/env "MYVAR=1" \
"MYOTHERVAR=2" ./myscript.sh args'


(На самом деле должно записываться в одну строчку.)

Комментариев нет: