สมมติว่าฉันมีตัวแปรvarในทุบตี ฉันสามารถกำหนดค่าให้กับมัน ตัวอย่างเช่นฉันจะทำให้มันสตริง:
var="Test"
ฉันต้องการechoชื่อของไม่คุ้มค่าที่จัดขึ้นโดยvar var(ฉันสามารถทำสิ่งหลังได้echo $varแต่จริง ๆ แล้วฉันต้องการที่จะทำในอดีต)
คำตอบสำหรับคำถามนี้จาก SOบอกว่าจะใช้echo ${!var}แต่เมื่อฉันทำที่ฉันสะท้อนเพียงแค่ส่งกลับบรรทัดว่าง ตัวอย่างเช่นสคริปต์ทุบตีนี้
#!/bin/bash
echo "Hi"
var="Test"
echo ${!var}
echo "Bye"
ส่งคืนผลลัพธ์นี้:
Hi
Bye
มีเพียงบรรทัดว่างระหว่างสวัสดีและลาก่อนแทนที่จะvar ผมทำอะไรผิดหรือเปล่า?
ฉันทำงานทุบตี 4.1.5 (1)บนUbuntu 10.04.4
ฉันไม่เข้าใจประเด็นนี้จริงๆ @Braiam ชี้ให้เห็นเนื่องจากคุณกำหนดชื่อของตัวแปรตั้งแต่แรกคุณจะรู้ได้ตลอดเวลาและสามารถพิมพ์ได้เสมอ คุณพยายามทำอะไร
—
terdon
ฉันคิดว่าคุณพลาดการแก้ไข SO ดังนั้น ลอง
—
iruvar
var=Test; Test=SO; echo ${!var}
ฉันก็ไม่เข้าใจเหมือนกัน แต่คุณพยายามทำอะไร echo '$ var'
—
Renan Vicente
ฉันอยากรู้อยากเห็นจริงๆโปรดบอกเราว่าคุณต้องการอะไรสำหรับ!
—
bubakazouba
echo varใช่มั้ย