Я сталкивался с этой проблемой сейчас несколько раз, и я хотел бы найти способ автоматизировать / написать сценарий, который включает в себя изменение личности или среды (я не уверен, как это точно назвать).
Простым примером будет скрипт, где часть должна быть выполнена с su . (например, make install ). Для этого можно использовать sudo . Однако есть и другие изменения среды, в которых нет такого решения. Вероятно, хорошо известен Python virtualenv, в котором можно легко представить такой сценарий, как
source virtEnv/bin/activate
python myScript.py
или просто скрипт, который вызывает screen . Сейчас я собираю gstreamer, который я хотел бы автоматизировать в скрипте, потому что позже мне придется развернуть эту установку на нескольких других компьютерах.
for i in gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-python gnonlin gst-ffmpeg 
do
   gst-head
   cd ./$i
   git checkout tags/1.1.1
   ./autogen.sh
   make -j7
   exit
done
Где gst-head - это gst-uninstalled который загружает локальный файл pkg_config (если я прав) и помещает меня в отдельную среду. Если я добавлю это в сценарий, сценарий остановит его выполнение и продолжит работу, как только я exit из этой среды.
