问题标签 [stdin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3793 浏览

perl - 如何判断 STDIN 是否连接到 Perl 中的终端?

如何判断 STDIN 是否连接到 Perl 中的终端?

0 投票
3 回答
4932 浏览

bash - 如何将标准输入从 shell 脚本重定向到 shell 脚本中的命令?

如何将标准输入从 shell 脚本重定向到 shell 脚本中的命令?我正在尝试将标准输入传递给 java System.in 流。

我想换

0 投票
3 回答
12740 浏览

ruby - 如何将 STDIN 内容转换为数组?

我有一个包含以下内容的文件 INPUT:

我想像这样运行我的脚本:script.rb < INPUT 并让它将 INPUT 文件的内容转换为数组,在换行符上拆分。所以,我有类似 myArray = [123,456,789] 的东西。这是我尝试做的事情,但运气不佳:

我希望这会打印 3,但我得到了 15。我在这里真的很困惑。任何指针?

0 投票
10 回答
80153 浏览

php - PHP标准输入?

我知道 PHP通常用于没有标准输入的 Web 开发,但 PHP 声称可以用作通用脚本语言,如果您确实遵循它的时髦的基于 Web 的约定。我知道 PHP 用 and 打印到(stdout或任何你想调用的东西),这很简单,但我想知道 PHP 脚本如何从(特别是 with ,但任何输入函数都很好)获取输入,或者是这甚至可能吗?printechostdinfgetc()

0 投票
1 回答
1802 浏览

ruby - 使用 Ruby 在标准输入上设置非规范模式

我正在使用 Ruby 制作一个简单的基于终端的游戏,我目前正在尝试想出一种从终端读取输入的方法。

到目前为止,我一直在使用gets,但我想让游戏立即做出反应而不需要换行符(所以你不需要按一个键,然后输入)。

我发现我需要将终端置于非规范模式,我假设我可以通过调用$stdin.ioctl. 问题是,我不确定我应该传递什么参数或标志,文档和搜索只会导致有关底层 C 函数的信息。

谁能告诉我我应该打电话给我$stdin.ioctl吗?我在 OSX Leopard 上使用 Terminal.app/tcsh。

编辑:这就是我最终使用的,感谢 MarkusQ:

0 投票
3 回答
1433 浏览

console - `tee` 命令等效于 *input*?

unixtee命令将标准输入拆分为标准输出和一个文件。

我需要的是另一种工作方式,将多个输入合并到一个输出 - 我需要连接两个(或更多)命令的标准输出。
不确定这个应用程序的语义应该是什么——让我们假设每个参数都是一个完整的命令。

例子:

应该生成一个包含内容的文件

我试过

它不起作用。

旁注:我知道我可以将每个命令的输出附加到文件中,但我想一次性完成(实际上,我想将合并的输出通过管道传输到另一个程序)。
另外,我可以自己动手,但是只要我负担得起,我就很懒惰:-)

哦,是的,如果它在 Windows 中工作会很好(尽管我猜任何 bash/linux 风格的解决方案都可以通过 UnxUtils/msys/etc 工作)

0 投票
3 回答
7810 浏览

unix - ksh:如何探测标准输入?

我希望我的 ksh 脚本具有不同的行为,具体取决于是否有通过 stdin 传入的内容:

检查 stdin 以查看它是否是终端 [ -t 0 ] 没有帮助,因为我的脚本是从其他脚本调用的。

如果 stdin 为“空”(第二种情况),则执行“cat <&0 >./tmp.dat”检查 tmp.dat 的大小会挂起等待来自 stdin 的 EOF。

如何检查标准输入是否为“空”?!

0 投票
4 回答
16378 浏览

linux - 使用 Bash 将标准输入重定向到来自不同的终端

我想知道如何将脚本的标准输入从当前的 xterm 会话(即 /dev/pts/0)重定向到也使用 bash 运行的脚本(即 /dev/pts/1)?我有一个打开 3 个 xterm 窗口的 bash 脚本,我只想从其中一个窗口中获取输入,但我不知道该怎么做。任何帮助表示赞赏!谢谢。



编辑(从下面移动——OP提交了这个澄清作为答案)

我想我应该澄清一下我想做什么。我将从一个 pty 开始一个脚本,假设它是 /dev/pts/3。该脚本将打开 3 个 xterminal,比如说:/dev/pts/0、/dev/pts/1 和 /dev/pts/2。这 3 个新的 pty 是用户将要看到的。该脚本要求用户输入一些输入,我希望将用户的输入输入 /dev/pty/1 并且程序应该从那里获取它的信息。但是我尝试过这样做,但它不起作用。这是我的代码片段。

最后的 case 语句只是一个小占位符,用于查看输入是否真的有效。

0 投票
3 回答
2175 浏览

.net - 如何在 WPF 应用程序中读取标准输入?

我试图弄清楚如何从我自己的 WPF 应用程序的标准输入流中读取,但我找不到获取流的方法。标准的做法,

立即返回 Null(Nothing)。我假设因为它不是控制台应用程序并且没有打开控制台窗口。如何在 WPF 应用程序中读取标准输入?

一些背景:我正在尝试读取由外部设备(磁卡读卡器)发送的文本,该设备将其数据发送到当前关注的应用程序的标准输入。如果需要,我可以将焦点放在 TextBox 上,然后从那里读取数据,但如果可能的话,我宁愿直接读取数据,以避免出现许多可能的问题。

编辑:尽管 Daniel Pratt 解决了我最初的问题,但弄清楚如何从标准输入中读取仍然会很好。如果您可以回答,我将更改已接受的答案。

0 投票
5 回答
3692 浏览

c++ - 在 C++ 中忽略 std::cin 上的 EOF

我有一个实现交互式 shell 的应用程序,类似于 Python 控制台/irb 的工作方式。现在的问题是,如果用户不小心点击^DEOF 并且我的getline()调用返回一个空字符串,我将其视为“无输入”并再次显示提示。

然后这会导致打印提示的无限循环。

现在在 Python 中,我会通过 catch 来解决这个问题EOFError,但在 C++ 中,我可以捕捉到没有异常,而且似乎没有设置cin忽略 EOF。

有什么提示吗?