มีวิธีสร้างตัวแปร bash และกำหนดค่าผ่านลูปหรือไม่
บางสิ่งบางอย่างตาม:
#!/bin/bash
c=0
for file in $( ls ); do
var"$c"="$file";
let c=$c+1;
done
แก้ไข: ขอบคุณ @Costas และ @mdpc สำหรับการชี้ให้เห็นว่านี่จะเป็นทางเลือกที่ไม่ดีสำหรับรายการ คำถามเป็นเชิงทฤษฎีเท่านั้น
1
หมายเหตุ: โปรดทราบว่าการตั้งค่าของคุณจะเปลี่ยน / แก้ไข / กำหนดตัวแปรเฉพาะในกระบวนการปัจจุบันและไม่ใช่กระบวนการหลักหากคุณดำเนินการเป็นคำสั่ง คุณสามารถหาแหล่งไฟล์โดยใช้ '.' คำสั่ง (EX:. new_vars) เพื่อทำให้สิ่งนี้เกิดขึ้นภายในกระบวนการปัจจุบัน
—
mdpc
ตกลง แต่ข้างต้นไม่ทำงานจริง ๆ ;
—
toxefa
var"$c"
ทำลายมัน คำตอบของ @Costas แสดงให้เห็นถึงวิธีการกำหนดค่าหลายค่าให้กับตัวแปรลิสต์เดียว - ฉันแค่ถามในทางทฤษฎีว่าตัวแปรสามารถสร้างขึ้นด้วยลูปได้หรือไม่
อืม ... ทำไมซับซ้อนมากเพียงแค่ใช้ตัวแปรใหม่สร้างมันโดยไม่ต้องประโคม
—
mdpc