ด้านล่างนี้เป็นโค้ดหลอกบางประเภทสำหรับสิ่งที่ฉันพยายามทำ:
#!/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... ทั้งหมดเพื่อประโยชน์
ฉันแค่ต้องรู้ว่ามีบางสิ่งที่เรียบง่ายหรือคลุมเครือที่ฉันขาดหายไปหรือหากเป็นไปได้ก่อนที่ฉันจะเสียเวลาอีกต่อไป
ฉันสามารถรวมกันเป็นแฮ็คจริง ๆของวิธีการทำเพื่อให้ทำงานตามที่ต้องการ แต่ฉันต้องการหลีกเลี่ยงที่ถ้าเป็นไปได้ทั้งหมดและเรียนรู้วิธีการด้านขวาไปเกี่ยวกับการทำ