从csh脚本运行本地可执行文件时找不到命令

时间:2013-10-03 01:10:41

标签: shell executable csh

我目前的项目涉及使用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”),而是在与它按预期执行的脚本相同的工作目录中。

1 个答案:

答案 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}"