V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
naijnehc
V2EX  ›  Linux

在 Shell 脚本中如何判断当前是 ssh 登陆,还是普通终端登陆

  •  
  •   naijnehc · 2019-02-22 20:51:19 +08:00 · 4042 次点击
    这是一个创建于 2092 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想到这个需求

    9 条回复    2019-08-22 10:26:37 +08:00
    ladypxy
        1
    ladypxy  
       2019-02-22 20:56:49 +08:00
    last 一下就好了啊
    远程登录有 IP 显示
    pkokp8
        2
    pkokp8  
       2019-02-22 20:57:05 +08:00 via Android
    export | grep ssh -i
    xupefei
        3
    xupefei  
       2019-02-22 21:01:04 +08:00
    who am i 判断里面有没有 IP 地址。
    naijnehc
        4
    naijnehc  
    OP
       2019-02-22 21:23:24 +08:00
    感谢各位
    Nitroethane
        5
    Nitroethane  
       2019-02-22 21:24:36 +08:00
    从 macOS ssh 到 Arch Linux 上:
    # env | grep SSH
    SSH_CONNECTION=192.168.50.45 61360 192.168.50.84 22

    从 macOS ssh 到 CentOS 7 上:
    # env | grep SSH
    SSH_CLIENT=27.xxx.xx.99 43735 29089
    SSH_TTY=/dev/pts/0
    SSH_CONNECTION=27.xxx.xx.99 43735 172.21.0.12 29089
    wdlth
        6
    wdlth  
       2019-02-22 21:31:38 +08:00
    判断 tty
    codehz
        7
    codehz  
       2019-02-23 12:35:42 +08:00 via Android
    @wdlth 很多图形界面终端也是 pty
    maoyipeng
        8
    maoyipeng  
       2019-02-23 13:25:09 +08:00
    环境变量
    CooperQ
        9
    CooperQ  
       2019-08-22 10:26:37 +08:00 via iPhone
    正好碰到这个问题,直接 po 代码
    export |grep SSH_TTY -i >/dev/null
    RTE=$?
    if [ “$RTE ” !=“ 0 ” ]; then
    # if not login by ssh
    fi
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1148 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:57 · PVG 06:57 · LAX 14:57 · JFK 17:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.