ins*_*nce 4 bash bash-scripting
由于应用程序限制,我有两个用户需要使用相同的登录名。
这些用户对 shell 提示应该是什么样子有很大的不同意见。其中一位甚至坚持要修改色觉。这导致了 .bashrc PS1 争议。我已经给了他们脚本来设置他们自己的偏好,但是......让我们说这很复杂。
幸运的是,它们都从具有已知 IP 地址的位置连接。有没有一种方法可以将用户的远程 IP 地址合并到一个条件中,从而为他们提供他们想要的东西,而无需任何额外的步骤?他们通过 ssh 连接。
来自 OpenSSH SSH 客户端 ( man 1 ssh)的手册:
ENVIRONMENT
ssh通常会设置以下环境变量:[…]
SSH_CONNECTION标识连接的客户端和服务器端。该变量包含四个以空格分隔的值:客户端 IP 地址、客户端端口号、服务器 IP 地址和服务器端口号。[…]
在.bashrc你应该这样做:
case "${SSH_CONNECTION%% *}" in
1.2.3.4|1.2.3.5 )
PS1=…
;;
2.2.7.* )
PS1=…
;;
# add support for more users if needed
esac
Run Code Online (Sandbox Code Playgroud)
或喜欢
if [ "${SSH_CONNECTION%% *}" = "1.2.3.4" ]; then
PS1=…
else
PS1=…
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
989 次 |
| 最近记录: |