在本地计算机和 ssh 会话中以不同的方式设置 $PS1

Wil*_*hen 9 ssh bash shell ps1

我将我的主目录置于版本控制之下,这样我的基本配置就可以在任何计算机上轻松使用。

我的本地计算机上的 bash 命令提示符是一个复杂而多彩的东西,其中包括当前的 git 存储库及其状态。但是user@host ~ $当我ssh进入远程机器时,我宁愿有一个简单的命令提示符。

我希望能够更新我的,.profile以便它$PS1在本地运行时设置一个复杂的设置,并在ssh会话中运行时设置一个简化的设置。

基本上,我想$AM_I_LOGGED_IN_VIA_SSH在我的.profile. 那可能吗?

Cal*_*leb 9

当您通过 SSH 登录时,会设置几个额外的环境变量。您可以使用这些作为测试来在您的 .profile 中设置您的 PS1。

if [ -n "$SSH_CLIENT" ]; then
    PS1="Via ssh: "
else
    PS1="Local: "
fi
Run Code Online (Sandbox Code Playgroud)


gee*_*aur 7

如果你检查你的环境(env | grep SSH),你会发现一些考生如$SSH_CLIENT$SSH_CONNECTION$SSH_TTY; 确切的列表将取决于sshd版本。