当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《CShell:如何使用非命令行参数执行程序?》经验,为你挑选了1个好方法。

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

如何才能做到这一点?



1> Paul Tomblin..:

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

./myfortranprogram << EOF
first line of input
second line of input
EOF

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

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

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

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

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有