ฉันต้องเขียนสคริปต์ที่เริ่มต้นโปรแกรมของฉันด้วยอาร์กิวเมนต์ที่ต่างกัน แต่ฉันใหม่สำหรับ Bash ฉันเริ่มโปรแกรมด้วย:
./MyProgram.exe Data/data1.txt [Logs/data1_Log.txt]
.
นี่คือรหัสเทียมสำหรับสิ่งที่ฉันต้องการจะทำ:
for each filename in /Data do
for int i = 0, i = 3, i++
./MyProgram.exe Data/filename.txt Logs/filename_Log{i}.txt
end for
end for
ดังนั้นฉันจึงงงว่าจะสร้างอาร์กิวเมนต์ที่สองจากอันแรกได้อย่างไรดูเหมือน dataABCD_Log1.txt และเริ่มโปรแกรมของฉัน
basename -s
เป็นส่วนขยายที่ไม่เป็นมาตรฐาน - ฉันจะแก้ไขคำตอบของฉันเพื่อใช้ไวยากรณ์มาตรฐาน