本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅
Example 4-6. wh,whois域名查询
#!/bin/bash #做一个'whois domain-name'的查询任意一个服务器上: ripe.net,apnic.net,tucows.com #将脚本重命名为'wh',放在/usr/local/bin下 #需要软链接: #ln -s /usr/local/bin/wh /usr/local/bin/wh-ripe #ln -s /usr/local/bin/wh /usr/local/bin/wh-apnic #ln -s /usr/local/bin/wh /usr/local/bin/wh-tucows E_NOARGS=65 if [ -z "$1" ] then echo "Usage: `basename $0` [domain-name]" exit $E_NOARGS fi #检查脚本名字,调用合适的服务器 case `basename $0` in #或者 case ${0##*/} in "wh" ) whois $1@whois.tucows.com;; "wh-ripe" ) whois $1@whois.ripe.net;; "wh-apnic" ) whois $1@whois.apnic.net;; "wh-tucows" ) whois $1@whois.tucows.com;; * ) echo "Usage: `basename $0` [domain-name]" ;; esac exit $?
1.假设我们定义了一个变量为:
file=/dir1/dir2/dir3/my.file.txt
可以用${ }分别替换得到不同的值:
${file#*/}:删掉第一个 /及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
${file##*.}:删掉最后一个 . 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
2.whois命令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network Solutions的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。即whois命令会列出给出的域名的域名所有者的信息。
3.如果系统里没有安装whois,可以用以下命令安装
# yum search whois //搜索服务器上所有和关键字相关的包
# yum -y intsall jwhois //centos6版本系统下
# yum -y intsall whois //centos7版本系统下
4. whois查询时最常用的两条命令:
1)注意在linux命令终端里查询一个域名的注册信息时,要把前面的www去掉。
比如查询www.baidu.com域名www.baidu.com
# whois baidu.com
2)查询ip注册信息
# whois 103.110.186.115
脚本运行结果