2013-10-03 176 views
-1

我當前的項目涉及到在八十年代中期使用在Fortran 77上編寫的.go可執行文件。我目前唯一的訪問權限是通過ssh到使用csh的服務器。我寫了下面的腳本:從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 

如果我是密鑰消息的內容(沒有的「指令找不到」),而在與按預期執行的腳本相同的工作目錄。

+0

這就是您正在運行的腳本?它是如何在錯誤信息中顯示的輸入文件名末尾生成'.d'的? – lurker

+0

對不起。我不得不手動鍵入它,因爲我使用的服務器非常緊密,而且我不能scp。上面編輯。 –

+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}「' – lurker

回答

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