ฉันพยายามกำหนดผลลัพธ์ของ 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 var ที่ส่งไปยัง echo ไม่ได้อยู่ในเครื่องหมายคำพูดคู่มันจะส่งออกเฉพาะบรรทัดสุดท้ายของเอาต์พุต curl ที่จับ
—
Christopher Hunter
ขอบคุณ @ChristopherHunter ฉันมาที่นี่เพื่อค้นหาสิ่งนี้ ทำไมมันถึงมีพฤติกรรมแบบนี้?
—
Amey
@ ฉันไม่สามารถพูดได้อย่างแน่ชัดว่าเหตุผลคืออะไรนี่คือสิ่งที่เสียงสะท้อนทำงานเมื่อคุณให้สตริงแบบหลายบรรทัดเป็นอาร์กิวเมนต์
—
Christopher Hunter