-1

我目前的项目涉及使用在 80 年代中期在 Fortran 77 上编写的 .go 可执行文件。我目前对它的唯一访问是通过 ssh 到使用 csh 的服务器。我编写了以下脚本:

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 not found”),同时与它按预期执行的脚本位于同一工作目录中。

4

1 回答 1

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}"
于 2013-10-03T14:33:50.887 回答