http://www.geoiptool.com/en/?IP=
我需要一些帮助来编写一个允许我将任何给定 IP 传递给该 URL 的 bash 脚本。上面的站点是我想调用我的脚本的 URL。有人可以让我开始吗?谢谢!
我想像这样使用我的脚本:echo IP_ADDRESS | 地理工具
当我回显一个 IP 并将其传送到我的脚本时,我在下面收到此错误。那是因为没有安装管道命令吗?
-bash-3.2$ 回声 173.192.108.135 | geo -bash:回声:写入错误:管道损坏
http://www.geoiptool.com/en/?IP=
我需要一些帮助来编写一个允许我将任何给定 IP 传递给该 URL 的 bash 脚本。上面的站点是我想调用我的脚本的 URL。有人可以让我开始吗?谢谢!
我想像这样使用我的脚本:echo IP_ADDRESS | 地理工具
当我回显一个 IP 并将其传送到我的脚本时,我在下面收到此错误。那是因为没有安装管道命令吗?
-bash-3.2$ 回声 173.192.108.135 | geo -bash:回声:写入错误:管道损坏
我建议使用命令行参数而不是从标准输入读取。您可以使用 $1 来引用第一个参数,使用 $2 来引用第二个参数,等等。
#!/bin/bash
curl -s http://www.geoiptool.com/en/?IP=$1
然后你只需通过以下方式解雇它:
geoiptool <IP>
您可以使用该read命令读取stdin地址并将其存储在变量中。然后用于wget发出 HTTP 请求:
read ip
wget http://www.geoiptool.com/en/?IP=$ip
好的。
您可以使用该read命令从中读取一行stdin并将其分配给一个变量:
read variable
echo "You said: $variable"
并且curl是用于与 HTTP URL 交互的常用命令行工具:
curl http://www.google.com/
(您也可以使用wget或lynx或其他工具,具体取决于您的要求)。
所以一个非常简单的脚本可能看起来像:
URL="http://www.geoiptool.com/en/?IP="
read ipaddr
curl --silent "$URL$ipaddr"