Linux
如何從另一個使用者訪問 root 中定義的環境變數?
我
test
在 user 中定義了一個環境變數root
。我可以root
使用以下命令訪問內部使用者:echo $test
現在我切換到另一個使用者
myuser
使用su - myuser
. 現在如何訪問test
變數myuser
?
如果您使用GNU bash(作為 Linux 上的登錄 shell),並且如果您希望
FOO
為每個使用者設置一些環境變數以字元串值bar
,您可以在文件中/etc/bash.bashrc
(接近末尾)添加幾行,例如:# to be added in /etc/bash.bashrc export FOO=bar
有關更多資訊,請參閱§6.2 Bash 啟動文件。
當然,您需要root 權限才能編輯(一次,例如
/usr/bin/sudo /usr/bin/emacs /etc/bash.bashrc
在某些終端中)該/etc/bash.bashrc
文件。您還可以選擇使用其他登錄 shell,例如zsh或fish。您需要安裝他們的軟體包並使用chsh(1)更改
/etc/passwd
條目(另請參閱passwd(5)和shells(5)/etc/shells
中記錄的文件)。他們有不同的方法來做同樣的事情。如果該文件
/root/.bashrc
是世界可讀的(這可能是網路安全風險),您可以使用帶有grep(1)或gawk(1)的eval
內置命令,使用命令替換。隨時通過電子郵件向
basile@starynkevitch.net
(法國巴黎附近)詢問更多資訊。