Tag: stdin

如何使一个可以从标准input读取的bash函数?

我有一些脚本的参数工作,他们工作得很好,但我希望他们能够从标准input读取,例如,从一个例子,假设这被称为读: #!/bin/bash function read() { echo $* } read $* 现在这个read "foo" "bar" ,但我想用它作为: echo "foo" | read 我如何做到这一点?

文件描述符

有人能告诉我为什么这不起作用吗? 我正在玩文件描述符,但感觉有点失落。 #!/bin/bash echo "This" echo "is" >&2 echo "a" >&3 echo "test." >&4 前三行运行良好,但最后两个错误。 为什么? 谢谢您的帮助!

如何写入Pythonsubprocess的标准input?

我正在尝试编写一个启动subprocess的Python脚本,并写入subprocess标准input。 如果subprocess崩溃,我也希望能够确定要采取的行动。 我试图启动的过程是一个名为nuke的程序,它有自己的内置版本的Python,我希望能够提交命令,然后在命令执行后告诉它退出。 到目前为止,我已经知道,如果我在命令提示符下启动Python,然后启动nuke作为subprocess,那么我可以键入命令来进行nuke ,但是我希望能够将这些全部放入脚本中主Python程序可以开始nuke ,然后写入其标准input (从而写入其内置版本的Python),并告诉它做些时髦的事情,所以我写了一个脚本,像这样开始nuke : subprocess.call(["C:/Program Files/Nuke6.3v5/Nuke6.3", "-t", "E:/NukeTest/test.nk"]) 然后没有任何反应,因为nuke正在等待用户input。 我现在怎么写标准input? 我这样做是因为我正在运行一个nuke插件,导致它在渲染多个帧时间歇性地崩溃。 所以我希望这个脚本能够开始nuke ,告诉它做些什么,然后如果崩溃,再试一次。 所以,如果有一个方法来赶上崩溃,仍然可以,那就太好了。

如何从标准input多variablesinput读入variables,以及如何在shell(sh,bash)中打印出一个?

我想要做的是以下几点: 从stdininput读取多行input到variablesA 对A进行各种操作 而不会丢失分隔符( \n , \r , \t等)到另一个命令 目前的问题是,我不能read命令,因为它停止阅读新行。 我可以用cat读stdin,就像这样: my_var=`cat /dev/stdin` ,但是我不知道如何打印。 所以换行符,制表符和其他分隔符仍然存在。 我的示例脚本如下所示: #!/usr/local/bin/bash A=`cat /dev/stdin` if [ ${#A} -eq 0 ]; then exit 0 else cat ${A} | /usr/local/sbin/nextcommand fi

node.js:从标准input读取同步?

是否有可能从stdin同步读取node.js? 因为我正在JavaScript中编写一个JavaScript编译器(仅仅为了好玩)。 Brainfuck支持需要同步实现的读取操作。 我试过这个: const fs = require('fs'); var c = fs.readSync(0,1,null,'utf-8'); console.log('character: '+c+' ('+c.charCodeAt(0)+')'); 但是这只产生这个输出: fs:189 var r = binding.read(fd, buffer, offset, length, position); ^ Error: EAGAIN, Resource temporarily unavailable at Object.readSync (fs:189:19) at Object.<anonymous> (/home/…/stdin.js:3:12) at Module._compile (module:426:23) at Module._loadScriptSync (module:436:8) at Module.loadSync (module:306:10) at Object.runMain (module:490:22) at node.js:254:10

如何pipe道input到Bash while循环,并在循环结束后保存variables

Bash允许使用: cat <(echo "$FILECONTENT") Bash也允许使用: while read i; do echo $i; done </etc/passwd while read i; do echo $i; done </etc/passwd 结合前面两个这个可以使用: echo $FILECONTENT | while read i; do echo $i; done echo $FILECONTENT | while read i; do echo $i; done 最后一个问题是,它创build子shell,并且在while循环结束variables之后, i不能再被访问。 我的问题是: 如何实现这样的事情: while read i; do echo $i; done <(echo "$FILECONTENT") […]

Python中的可选标准input与argparse

我发现非常有用的语法 parser.add_argument('-i', '–input-file', type=argparse.FileType('r'), default='-') 用于指定一个input文件或使用stdin,这两个我都想在我的程序中使用。 但是,input文件并不总是必需的。 如果我不使用-i或redirectinput $ someprog | my_python_prog $ my_python_prog < inputfile 我不希望我的Python程序等待input。 我希望它只是移动并使用默认值。

从文件或STDIN读取

我写了一个命令行实用程序,它使用getopt来parsing命令行中给出的参数。 我也想有一个文件名是一个可选的参数,如它在其他工具如grep,剪切等。所以,我希望它有以下用法 tool -d character -f integer [filename] 我怎样才能实现以下? 如果给出文件名,则从文件中读取。 如果没有给出文件名,则从STDIN中读取。

在Java中读取System.in最快的方法是什么?

我正在使用Scanner(System.in)读取由空间或换行符分隔的一串整数。 在Java中做这个有更快的方法吗?

以编程方式从STDIN或Perlinput文件读取

在Perl中用stdin或者input文件(如果提供)以编程方式读取的最明智的方法是什么?