前端之家收集整理的这篇文章主要介绍了
linux – 通过标准输入从shell脚本提交多个文件,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个程序,从命令行调用时从标准输入读取.通常用户会输入一些信息,在新行上按C-d表示文件结束,程序将处理该文件.然后再次提示用户,输入更多文本,再按C-d表示第二个文件的结束.
我正在寻找一个shell脚本,它将调用该程序并自动提交这两个文件.我想做这样的事情:
$myprogram < file1.txt < file2.txt
要么
$myprogam
有什么建议?我在Linux下使用bash shell.
最佳答案
显然你可以使用cat将两个
文件发送到程序标准输入中,但这可能不是你想要的:
$cat file1.txt file2.txt | myprogram
在上面的例子中,myprogram将无法分辨file1.txt的结束和file2.txt的开始,除非它们具有特定的格式,并且它正在观察流的某些格式,表示文件的结束或开始.
没有标准方法可以将多个流发送到标准输入.基本上只有一个流进入标准输入.
您可能会构建脚本,以便它在命令行上接受多个参数,并在内部打开并一次处理一个.也就是说,你会这样称呼它:
$myprogram file1.txt file2.txt
原文链接:https://www.f2er.com/linux/441202.html