CNode

Mac下执行ssh+别名的时候如何获取到当前别名

问答
Iim-here发布于10 年前最后回复10 年前4 回复4484 浏览0 收藏

主要需求:iTerm2有时候连的服务器有点多,不知道哪个连的是哪个服务器了 配置iTerm2的Badges想把当前连接的服务器别名显示出来。看了iTerm2文档可以自定义变量名,代码如下

# bash: Place this in .bashrc.
function iterm2_print_user_vars() {
  iterm2_set_user_var my_var xxx
}

我在~.ssh/config配置了我所有远程服务器的别名,连接远程服务器的时候,只需要 ssh+别名就能连上。 上面的代码里 my_var 就是我自己定义的变量名,xxx 我是想取到的config里配置的别名。 不知道我说清楚没,有做过这方面的配置的吗?

查看回复

回复 (4)

M
MiguelValentine#1·10 年前
#!/bin/bash

#define
fontGreen="\033[32m"
fontDefault="\033[0m"

#servers
baidu=baidu.com
target=${!1}

#function
check(){
    if  [ ! -n "$1" ] ;then
        echo "最少需要一个参数"
    else
        target=${!1}
        if  [ ! -n "$target" ] ;then
            echo "不存在的服务器"
            return
        fi
        echo "连接到" $target "..."
    fi
}

login(){
    ssh root@"$target"
}

#action
echo -e $fontGreen
echo Fast SSH
check $1
echo -e $fontDefault
login

ssh 自管理快速连接

I
im-here#2·10 年前
引用 MiguelValentinessh 自管理快速连接

@MiguelValentine 谢谢!

A
asfman#3·10 年前

@MiguelValentine ${!1}是什么意思?能判断服务器存不存在?

参与回复
登录后即可参与回复。登录