我们正在为 *nix 开发主机使用 NIS 和 Automount。因此我可以使用相同的身份和相同的主目录登录任何主机。
我希望在登录不同主机时设置不同的环境变量。例如,我想在登录 solaris 主机时将 LD_LIBRARY_PATH 设置为某个值。但是我在登录 linux 主机时没有设置它。
我应该怎么做?
答案1
在你的 中使用条件语句~/.profile
。
case `uname` in
Solaris)
PATH=/usr/xpg6/bin:/usr/xpg4/bin:$PATH
LD_LIBRARY_PATH=$HOME/lib/solaris
export LD_LIBRARY_PATH;;
esac
您可能还想以不同方式设置一些别名和其他 shell 设置。这些将进入您的~/.bashrc
或~/.zshrc
。
case `uname` in
Solaris)
alias df='df -k' du='du -k'
alias ls='ls -F';;
Linux)
alias ls='ls --color';;
esac
答案2
我假设您使用 bash 作为您的 shell。
编辑用户的 ~/.bashrc 并添加以下行
[[ "$(uname)" != "Linux" ]] && export LD_LIBRARY_PATH=/solaris_path:$LD_LIBRARY_PATH