C 程序需要STDIN的输入,但我想从Shell脚本中输送/发送这些输入
C++ program needs inputs from stdin, but I want to pipe/send these inputs from shell script
我有一个C 程序,它可以交互读取来自用户(标准输入)的各种输入,并且效果很好。但是现在,我需要从shell脚本(bash)执行此程序,并且需要从该脚本传递这些输入,而不是手动传递。我的二进制名称是myprog,这是我在脚本中尝试过的。
myprog <<
__EOF__ | tail -n+21 | grep ":" >> logfile.log 2> /dev/null
$bdy
$bdm
$bdd
$bth
$btm
$bts
$edy
$edm
$edd
$eth
$etm
$ets
eof
这些变量包含一些日期和时间,例如年= 2014,01,小时= 04,分钟= 59和第二个= 20
您的C 程序无需做其他事情,然后读取来自stdin的数据(或C 的cin
)。这是您对bash shell的决定,要创建一个带有数据的临时对象,然后将其传递到运行从C 源编译的可执行文件的过程。
使用这样的bash脚本
myprog << EOF | tail -n+21 | grep ":" >> logfile.log 2> /dev/null
foo
bar
EOF
请注意最后一行的末端指示器之间和<<
后面的端指示灯之间的确切macth。
这里是一个进一步的示例:
Harper@AMSEL ~/Documents
$ cat fff
cat << EOF -b | tail >> logfile.log 2>/dev/null
this text is used
these chars too
EOF
Harper@AMSEL ~/Documents
$ sh ./fff
Harper@AMSEL ~/Documents
$ cat logfile.log
1 this text is used
2 these chars too
Harper@AMSEL ~/Documents
您可能必须检查本地评估您的命令的参数,以及在删除计算机上使用的SSH使用的内容。上面的示例可能有助于将问题与MyProg隔离。
相关文章:
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 2D数组来自文本输入,中间有空格
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 检查输入是否不是整数或数字
- 正在尝试了解输入验证循环
- 读取文件并输入到矢量中
- C++如何通过用户输入删除列表元素
- 用c++从输入文件中读取另一行
- 读取文件的最后一行并输入到链接列表时出错
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何使用用户输入在C++中正确填充2D数组
- 使用 diff 脚本(在 C++ 中)打开输入文件时出现问题
- 将Python脚本的输出链接到C 程序的输入
- 将CPP EXE打印到Python脚本输入中
- 将输入值从BASH脚本传递到C 可执行文件
- C 程序需要STDIN的输入,但我想从Shell脚本中输送/发送这些输入
- 使用C++ CGI 脚本输入的异常
- 如何在C++中获得插入整个用户输入的脚本
- 如何调试从gdb中的脚本获取输入的c++程序
- Php脚本编译c++文件和运行可执行文件与输入文件