ด้านล่างนี้เป็นโค้ดหลอกบางประเภทสำหรับสิ่งที่ฉันพยายามทำ:
#!/bin/bash
# I already have the variable below figured out (positive integer):
numlines=$([returns number of lines containing specific characters in a file])
# This is basically what I want to do with it:
for i in {1..$numlines}; do
# the part below is already figured out as well:
do some other stuff
done
ฉันสามารถดำเนินการได้ดีจากบรรทัดคำสั่งโดยการใส่หมายเลขจริงในลำดับ `{1..n} ' ฉันแค่ต้องรู้ว่าเป็นไปได้หรือไม่ที่จะรวมตัวแปรไว้ที่นี่และจะทำอย่างไรกับมัน
- ฉันได้ลอง
export
มัน - ฉันได้ลองใส่ตัวแปรในวงเล็บปีกกาภายในลำดับ:
{1..${numlines}}
- ฉันได้ลองใส่ไว้ในเครื่องหมายคำพูดคู่หวังว่ามันจะขยาย:
{1.."$numlines"}
- ฉันพยายามหลบหนี
$
:{1..\$numlines}
ฉันจำเป็นต้องใช้set -[something]
คำสั่งเพื่อให้ตัวแปรนี้ถูกขยายหรือไม่ ฉันได้ลองใช้รูปแบบeval
... ทั้งหมดเพื่อประโยชน์
ฉันแค่ต้องรู้ว่ามีบางสิ่งที่เรียบง่ายหรือคลุมเครือที่ฉันขาดหายไปหรือหากเป็นไปได้ก่อนที่ฉันจะเสียเวลาอีกต่อไป
ฉันสามารถรวมกันเป็นแฮ็คจริง ๆของวิธีการทำเพื่อให้ทำงานตามที่ต้องการ แต่ฉันต้องการหลีกเลี่ยงที่ถ้าเป็นไปได้ทั้งหมดและเรียนรู้วิธีการด้านขวาไปเกี่ยวกับการทำ