1. ホーム
  2. bash

[解決済み] Bashで出力を変数に代入する【重複】。

2022-04-25 23:37:56

質問

cURLの出力をこのように変数に代入しようとしています。

#!/bin/sh
$IP=`curl automation.whatismyip.com/n09230945.asp`
echo $IP
sed s/IP/$IP/ nsupdate.txt | nsupdate

しかし、このスクリプトを実行すると、次のようになります。

./update.sh: 3: =[my ip address]: not found

に出力するにはどうしたらいいですか? $IP を正しく表示できますか?

どのように解決するのですか?

シェルでは、代入する変数の前に$をつけない。 その変数を参照するときだけ$IPを使うのです。

#!/bin/bash

IP=$(curl automation.whatismyip.com/n09230945.asp)

echo "$IP"

sed "s/IP/$IP/" nsupdate.txt | nsupdate