programing

Bash의 변수에 출력 할당

muds 2023. 5. 16. 23:13
반응형

Bash의 변수에 출력 할당

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

더 복잡한 것과 마찬가지로...인스턴스 내에서 ec2 인스턴스 영역을 가져옵니다.

INSTANCE_REGION=$(curl -s 'http://169.254.169.254/latest/dynamic/instance-identity/document' | python -c "import sys, json; print json.load(sys.stdin)['region']")

echo $INSTANCE_REGION

언급URL : https://stackoverflow.com/questions/8737638/assign-output-to-variable-in-bash

반응형