2
我目前困擾以下幾點:sudo環境變量如何在linux中工作?
sudo echo $MYVAR
從我的.bashrc輸出我的變量,
但
sudo ./test.sh
沒有,哪裏test.sh是下面的可執行文件:
#!/bin/sh
echo $MYVAR
我正在運行Ubuntu 14.04。有人能告訴我這裏發生了什麼嗎?
我目前困擾以下幾點:sudo環境變量如何在linux中工作?
sudo echo $MYVAR
從我的.bashrc輸出我的變量,
但
sudo ./test.sh
沒有,哪裏test.sh是下面的可執行文件:
#!/bin/sh
echo $MYVAR
我正在運行Ubuntu 14.04。有人能告訴我這裏發生了什麼嗎?
運行sudo echo $MYVAR
時,環境變量在shell中展開...在sudo
命令可以看到它之前。
當您使用sudo
運行腳本時,該腳本只能看到sudo
已包含在環境中的環境變量。出於安全原因,默認設置是不包括它們。
sudo
命令有一個選項-E
,它告訴用戶想要通過所有環境變量的命令。 sudoers配置文件可能允許或不允許。
感謝您的更多細節! – rofls