/etc/hosts 映射name使用 tab 补全功能

/etc/hosts 映射name使用 tab 补全功能

通过中控机登陆对端服务器时,通过ssh ip方式有一个明显弊端:ip很难被记住,当ip数量庞大时,这是一个很麻烦的事情,我们可以通过/etc/hosts映射(ip HostName)来规避这个问题。同时,需要在登陆时,键入HostName 可以使用tab键补齐。下面内容详细的解决/etc/hosts 中映射名使用 tab 补齐问题。

 

编辑如下文件:/var/local/complete.sh

#!/bin/bash
### Complete Name When login
​
LHOST=`cat /etc/hosts | grep -E 'FSX' | awk '{print $2}'`
###匹配/etc/hosts中HostName映射关系
​
function test {
         if [ "${#COMP_WORDS[@]}" != "2" ]; then
                 return
         fi
         local suggestions=($(compgen -W "$LHOST" -- "${COMP_WORDS[1]}"))
​
         if [ "${#suggestions[@]}" == "1" ]; then
            local number="${suggestions[0]/%\ */}"
            COMPREPLY=("$number")
         else
            COMPREPLY=("${suggestions[@]}")
         fi
}
complete -F test ssh

加入bashrc

source /var/local/complete.sh
echo "source /var/local/complete.sh" >> /root/.bashrc

 

测试:

ssh 后面的beijing-cmcc是直接用tab补齐的。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值