就像标签说的那样,这是在 Cygwin 中。
我有一个可以从 Cygwin 控制台运行的命令行程序:
./optAlg.exe data/5Node/1.dat 500 2>&1 > output/1.out
我编写了以下 bash 脚本以将其置于循环中
#!/bin/bash
for inputFile in data/5Node/*.dat
do
outputFile=${inputFile##*/} #strip output name from input name
outputFile=${outputFile%.*} #strip output name input file
outputFile+=".out"
"./optAlg.exe $inputFile 500 2>&1 > output/$outputFile"
done
当我运行 bash 脚本时,对于 for 循环的每次迭代,我都会得到“没有这样的文件或目录”,例如,
./batchOpt.sh: line 8: ./optAlg.exe data/5Node/1.dat 500 2>&1 > output/1.out: No such file or directory
这里发生了什么事?我不确定我做错了什么。