I need to write a script that starts my program with different arguments, but I\'m new to Bash. I start my program with:
./MyProgram.exe Data/data1.txt [Logs/d
for file in Data/*.txt
do
for ((i = 0; i < 3; i++))
do
name=${file##*/}
base=${name%.txt}
./MyProgram.exe "$file" Logs/"${base}_Log$i.txt"
done
done
The name=${file##*/} substitution (shell parameter expansion) removes the leading pathname up to the last /.
The base=${name%.txt} substitution removes the trailing .txt. It's a bit trickier if the extensions can vary.