IPアドレスのみを返すWebアプリケーションがあります。そのIPアドレスに接続する必要があるアプリケーションをトリガーする別のバッチスクリプトにそのIP結果を渡したいと思います。
私のテストは次のとおりです。
curl http://silvo.uk.to/IPReg.dll/GetIP | bash starttelem2.sh
テストのために、starttelem2.shには次のものが含まれます。
#!/bin/sh
echo "THE IP IS " $1
しかし、上記のパイプを使用してカールを呼び出すと、カールのダウンロードの進行状況が表示されるようです。
カール呼び出しの結果をbashスクリプトに簡単に渡すにはどうすればよいですか?
答え1
スクリプトは位置引数(パラメータ)()を使用しているため、1
コマンド置換を使用してIPアドレスを最初の引数として渡します。$1
curl
bash starttelem2.sh "$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)"
$(curl -s http://silvo.uk.to/IPReg.dll/GetIP)
curl
これは、内部コマンドの標準出力に置き換えられるコマンド置換です。この-s
オプションを使用すると、curl
STDERRに進捗情報は表示されません。
shebangをとして使用しましたが、sh
スクリプトをのパラメータとして実行しますbash
。bash
はい。そうしない特別な理由がない場合は、sh
shebangも作成することを検討する必要があります。bash