是否有可能有一個上下文管理器,只是保持以前的run
執行狀態。在代碼:結構上下文管理器與sudo
編輯:不工作的解決方案,這是我預料
with sudo('. myapp'): #this runs a few things and sets many env variables
run('echo $ENV1') # $ENV1 isn't set because the sudo command ran independently
我試圖運行幾個命令,但要保留每個命令之間的狀態?
我嘗試使用前綴上下文管理器,但它不與shell_env上下文管理工作:當運行該代碼
with shell_env(ENV1="TEST"):
with prefix(". myapp"):
run("echo $ENV2")
我希望我的ENV
進行設置,然後運行我的應用程序,它應該已經建立env2
但前綴在shell_env之前運行?
你是對的,第一個例子不會工作,但想要顯示我期待什麼類型的狀態執行。我會更新這個問題來反映這一點。我在運行前綴時設置shell_env的第二個問題是@zmo回答,這就是我所指的。 – Warz