fangpsh's blog

改进一下Ping

Ping 是一个非常常用的命令,有2种情况会使用它:
一是会从浏览器的地址栏或者其他人发给我的网址,复制,然后进行ping,带着协议以及一堆uri和args,
例如: https://accounts.google.com/AddSession?hl=en...
二从Linux 系统的网络地址复制过来IP,进行Ping,带着掩码位数,
例如:192.168.1.1/32

以上2种情况,如果直接复制内容到终端,然后ping,会提示:

ping: cannot resolve ....: Unknown host

很恼人,写一个简单的脚本:

#!/usr/bin/env bash
# issue:
#  - http(s)://xxx.xx/xxx/xx?xxx
#  - 192.168.1.1/32

new_args=`echo $@ |sed  's/http.*\:\/\///' |sed 's/\/[^ ]*//'`
#echo ${new_args}
ping ${new_args}

把这个脚本命名为pin, 放到 /bin 之类的目录下面即可(本来想做成alias,没成功),最终效果如下:
pin