- 私の
$USER
環境$SHELL
変数は/bin/zsh
- ルートの私の
$SHELL
環境変数は次のとおりです。/bin/bash
私はUnixシェルスクリプトを使って実行していますsudo
。このスクリプトでは$SHELL
env 変数$SUDO_USER
が/bin/zsh
。ただし、このコマンドは次のことを行います。
if [ $SHELL != "/bin/zsh" ]; then
pacman -S --needed --no-confirm zsh
sudo -u $SUDO_USER chsh -s /usr/bin/zsh
fi
$SHELL
実際、ルートの環境は可能です。どうやって行きます$SHELL
か$SUDO_USER
?
ありがとうございます。
編集する
最善の方法は、$SHELL
この変数に加えて異なる環境変数を持つことです。
ベストアンサー1
オプションを使用して環境をホストします-E, --preserve-env
。sudo
たとえばsudo -E ./test.sh
。
いかなる環境も許可することはお勧めできません。よりコマンド環境に参加man sudoers
。