我目前的项目涉及使用80年代中期在Fortran 77上编写的.go可执行文件。我目前唯一访问它是使用csh通过ssh到服务器。我写了以下脚本:
set inpdir = $argv[1]
mkdir ${inpdir}"_out"
set j = 1
while ($j <= 5)
set i = 0
while ($i <= 20)
"tms96-fnl.go <./"${inpdir}"/inp"${j}"0"${i}".d> ./"${inpdir}"_out/out"${j}"0"${i}
set i = i + 1
end
set j = j + 1
end
结果是消息:
tms96-fnl.go <./fftf/inp100.d> ./fftf_out/out100 -Command not found
Syntax error
如果我要键入该消息的内容(没有找到“-Command”),而是在与它按预期执行的脚本相同的工作目录中。
答案 0 :(得分:0)
问题在于报价的安排。你有:
"tms96-fnl.go <./"${inpdir}"/inp"${j}"0"${i}".d> ./"${inpdir}"_out/out"${j}"0"${i}
哪个会解释看起来像tms96-fnl.go <./
的命令。我愿意:
tms96-fnl.go < ./"${inpdir}"/inp"${j}"0"${i}".d > ./"${inpdir}"_out/out"${j}"0"${i}"