http://www.geoiptool.com/en/?IP=
我需要一些帮助才能编写一个bash脚本,允许我将任何给定的IP传递给此URL。上面的网站是我希望我的脚本调用的URL。有人可以让我开始吗?谢谢!
我想像这样使用我的脚本:echo IP_ADDRESS | geoiptool
当我回显IP并将其传递给我的脚本时,我在下面收到此错误。是因为 管道命令没有安装?
-bash-3.2 $ echo 173.192.108.135 |地理 -bash:echo:写入错误:管道损坏
答案 0 :(得分:1)
您可以使用read
命令从stdin
读取并将地址存储在变量中。然后使用wget
发出HTTP请求:
read ip
wget http://www.geoiptool.com/en/?IP=$ip
答案 1 :(得分:1)
好。
您可以使用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"
答案 2 :(得分:1)
我建议使用命令行参数而不是从stdin读取。您可以使用$ 1来引用第一个参数,第二个参数是$ 2,等等。
#!/bin/bash
curl -s http://www.geoiptool.com/en/?IP=$1
然后你只需点击它:
geoiptool <IP>