首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标准→标准?

标准→标准?
EN

Stack Overflow用户
提问于 2013-09-13 13:29:56
回答 2查看 1.1K关注 0票数 1

什么是等于Unix echo foo | cat__?

ECHO foo | TYPE CON挂起,等待输入,至少在Windows /SP3上是这样。可能CON不是stdin而是键盘输入。

你可能想知道这个练习有什么意义:当程序注意到它们的输出是管道的时候,它们的行为是不同的,我想要一种方法来测试它们。

EN

回答 2

Stack Overflow用户

发布于 2013-09-13 13:38:17

不确定你想做什么,但这可能有帮助:

代码语言:javascript
复制
type file|more

这可能更适合你的需要。

代码语言:javascript
复制
foo.exe | findstr "^"
票数 3
EN

Stack Overflow用户

发布于 2013-09-13 14:10:20

据我所知,您正在寻找一个应用程序,您可以通过管道将任何管道传递到stdout。

我相信foo.exe | more将在Windows上为您服务。

注意:more确实有分页输出的副作用,所以如果您需要测试更长的输出,您可以编写一个简单的应用程序来执行重定向。

编辑:您可以编写一个简单的批处理文件,将stdin重定向到stdout,并将管道重定向到stdout。来自杰布的答案here

代码语言:javascript
复制
@echo off
setlocal DisableDelayedExpansion

for /F "tokens=*" %%a in ('findstr /n $') do (
  set "line=%%a"
  setlocal EnableDelayedExpansion
  set "line=!line:*:=!"
  echo(!line!
  endlocal
)

将其保存为redir.bat,并像foo.exe | redir.bat那样使用。在Win7上测试。兼容默认Windows安装。唯一的缺点是这并不是一个容易记住的问题。

对于简单的情况,我会使用more,而对于更长的输出,我会使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18787591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档