如何从$ SSH_CLIENT获取IP地址

pro*_*eek 10 bash

$ SSH_CLIENT有一些IP地址和一些端口信息,echo $ SSH_CLIENT给我'10 .0.40.177 52335 22',并且正在运行

if [ -n "$SSH_CONNECTION" ] ; then for i in $SSH_CLIENT do echo $i done fi

给我

  • 10.0.40.177
  • 52335
  • 22

我看到第一个元素是IP地址.

问:我如何获得$ SSH_CLIENT的第一个元素?$ {SSH_CLIENT [0]}不起作用.

Ign*_*ams 22

sshvars=($SSH_CLIENT)
echo "${sshvars[0]}"
Run Code Online (Sandbox Code Playgroud)

要么:

echo "${SSH_CLIENT%% *}"
Run Code Online (Sandbox Code Playgroud)

  • 对于无能为力(像我一样),第二个是"参数替换".这是一个参考:http://tldp.org/LDP/abs/html/parameter-substitution.html (3认同)

gho*_*g74 8

你可以使用set --例如

$ SSH_CLIENT="10.0.40.177 52335 22"
$ set -- $SSH_CLIENT
$ echo $1  # first "element"
10.0.40.177
$ echo $2  # second "element"
52335
$ echo $3
22
Run Code Online (Sandbox Code Playgroud)