C Shell:如何使用非命令行参数执行程序?

Ale*_*lex 2 unix shell scripting csh

我的$ SHELL是tcsh.我想运行ac shell脚本,它会多次调用程序,每次更改一些参数.我需要调用的程序是在Fortran中.我不想编辑它.程序只有在执行后才会获取参数,但不会在命令行中获取.在脚本中调用程序后,程序将获得控制权(这是我当前卡住的地方,我永远无法离开,因为脚本在程序进程停止之后才会执行任何操作); 此时我需要传递一些变量,然后经过几次迭代后我需要从程序中按ctrl-c继续编写脚本.

如何才能做到这一点?

Pau*_*lin 5

要添加@Toybuilder所说的内容,您可以使用"here here".即你的剧本可以有

./myfortranprogram << EOF
first line of input
second line of input
EOF
Run Code Online (Sandbox Code Playgroud)

" <<EOF"和" EOF" 之间的所有内容都将被输入到程序的标准输入中(Fortran是否还使用"read(5,*)"来读取标准输入?)

因为我认为@ ephemient的评论值得回答:

更多提示:<<'EOF'阻止了here-doc体中的插值; << - EOF删除所有前导标签(因此您可以缩进here-doc以匹配其周围环境),并且EOF可以被任何标记替换.空标记(<<"")表示在第一个空行处停止的here-doc.

我不确定这些是多么可移植,或者它们只是tcsh扩展 - 我自己只使用了<<EOF"here here"类型.