1

http://www.geoiptool.com/en/?IP=

このURLに任意のIPを渡すことができるbashスクリプトを作成するための助けが必要です。上記のサイトは、スクリプトで呼び出したいURLです。誰かが私を始めてもらえますか?ありがとう!

次のようなスクリプトを使用したいと思います。echoIP_ADDRESS| geoiptool

IPをエコーし​​てスクリプトにパイプすると、以下のエラーが発生します。パイプコマンドがインストールされていないからですか?

-bash-3.2 $ echo 173.192.108.135 | geo -bash:echo:書き込みエラー:壊れたパイプ

4

3 に答える 3

1

このコマンドを使用して、アドレスreadを読み取りstdin、変数に格納できます。次に、を使用wgetしてHTTPリクエストを発行します。

read ip
wget http://www.geoiptool.com/en/?IP=$ip
于 2012-04-10T13:14:48.610 に答える
1

わかった。

このコマンドを使用して、read次の行から行を読み取り、stdinそれを変数に割り当てることができます。

read variable
echo "You said: $variable"

またcurl、HTTPURLを操作するために一般的にインストールされているコマンドラインツールです。

curl http://www.google.com/

(要件に応じて、または別のツールをwget使用することもできます)。lynx

したがって、非常に単純なスクリプトは次のようになります。

URL="http://www.geoiptool.com/en/?IP="
read ipaddr
curl --silent "$URL$ipaddr"
于 2012-04-10T13:15:22.230 に答える
1

stdinから読み取る代わりに、コマンドラインパラメーターを使用することをお勧めします。$ 1を使用して最初のパラメーターを参照し、$2を2番目のパラメーターに参照することができます。

#!/bin/bash
curl -s http://www.geoiptool.com/en/?IP=$1

次に、次の方法で起動します。

geoiptool <IP>
于 2012-04-10T13:23:32.093 に答える