标签: stdin

node.js:stdin的readSync?

是否可以从node.js中的stdin同步读取?因为我正在用JavaScript编写一个关于JavaScript编译器的脑筋(只是为了好玩).Brainfuck支持需要同步实现的读取操作.

我试过这个:

const fs = require('fs');
var c = fs.readSync(0,1,null,'utf-8');
console.log('character: '+c+' ('+c.charCodeAt(0)+')');
Run Code Online (Sandbox Code Playgroud)

但这只产生这个输出:

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
Run Code Online (Sandbox Code Playgroud)

stdin synchronous node.js

51
推荐指数
9
解决办法
4万
查看次数

Go中的getpasswd功能?

情况:

我想从stdin控制台获取密码- 而不回显用户输入的内容.是否有类似getpasswdGo的功能?

我尝试了什么:

我尝试过使用syscall.Read,但它回应了所输入的内容.

passwords stdin go getpasswd

47
推荐指数
6
解决办法
2万
查看次数

如何读取用户在C中输入的字符串?

我想阅读用户使用C程序输入的名称.

为此,我写道:

char name[20];

printf("Enter name: ");
gets(name);
Run Code Online (Sandbox Code Playgroud)

但是使用gets不好,那么更好的方法是什么?

c stdin

47
推荐指数
3
解决办法
18万
查看次数

从STDIN逐行阅读

我想做这样的事情:

$ [mysql query that produces many lines] | php parse_STDIN.php
Run Code Online (Sandbox Code Playgroud)

parse_STDIN.php文件中我希望能够从stdin逐行解析我的数据.

php stdin pipe

47
推荐指数
2
解决办法
6万
查看次数

Nodejs Child Process:从已经初始化的进程写入stdin

我正在尝试phantomjs使用节点生成外部进程child_process,然后在初始化后将信息发送到该进程,这可能吗?

我有以下代码:

var spawn = require('child_process').spawn,
    child = spawn('phantomjs');

child.stdin.setEncoding = 'utf-8';
child.stdout.pipe(process.stdout);

child.stdin.write("console.log('Hello from PhantomJS')");
Run Code Online (Sandbox Code Playgroud)

但我在stdout上唯一得到的是phantomjs控制台的初始提示.

phantomjs> 
Run Code Online (Sandbox Code Playgroud)

所以似乎child.stdin.write没有产生任何影响.

我不确定我是否可以在初始产卵时向phantomjs发送更多信息.

提前致谢.

stdin external-process child-process node.js phantomjs

44
推荐指数
2
解决办法
4万
查看次数

如何制作一个可以从标准输入读取的bash功能?

我有一些脚本,用参数工作,他们工作得很好,但我想他们能够从标准输入读取,例如从一个管道,一个例子,假设这就是所谓的读:

#!/bin/bash
function read()
{
 echo $*
}

read $*
Run Code Online (Sandbox Code Playgroud)

现在这适用read "foo" "bar",但我想用它作为:

echo "foo" | read
Run Code Online (Sandbox Code Playgroud)

我该如何做到这一点?

bash stdin pipe

42
推荐指数
5
解决办法
8万
查看次数

从标准输入读取grep的表达式

如何让grep 从标准输入(stdin)读取表达式

例如(以下不起作用):

grep -i -f &0 /path/to/text/file < "/regexp/"
Run Code Online (Sandbox Code Playgroud)

grep stdin

39
推荐指数
1
解决办法
3万
查看次数

在Windows PowerShell中重定向标准输入\输出

在Windows PowerShell上重定向标准输入/输出所需的语法是什么?

在Unix上,我们使用:

$./program <input.txt >output.txt
Run Code Online (Sandbox Code Playgroud)

如何在PowerShell中执行相同的任务?

powershell stdin powershell-2.0

39
推荐指数
4
解决办法
3万
查看次数

如何从stdin中提取tar存档?

我有一个大的tar文件split.是否可以cat使用管道来解压缩文件.

就像是:

cat largefile.tgz.aa largefile.tgz.ab | tar -xz
Run Code Online (Sandbox Code Playgroud)

代替:

cat largefile.tgz.aa largfile.tgz.ab > largefile.tgz
tar -xzf largefile.tgz
Run Code Online (Sandbox Code Playgroud)

我一直在四处寻找,但我找不到答案.我想看看是否有可能.

stdin pipeline pipe tar

39
推荐指数
1
解决办法
4万
查看次数

如何在clojure中读取stdin(*in*)中的行

我正在编写我的第一个clojure程序,并希望从stdin读取行.

当我尝试这个:

(doall (map #(println %) (line-seq *in*)))
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

Exception in thread "main" java.lang.ClassCastException: clojure.lang.LineNumberingPushbackReader cannot be cast to java.io.BufferedReader (test.clj:0)
Run Code Online (Sandbox Code Playgroud)

我在版本1.0和1.1中得到了相同的结果

那么如何转换*in*为seq我可以迭代?我会认为这很常见,*in*本身可以迭代,但这也不起作用 - 如果我尝试直接使用它,我得到:

java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.LineNumberingPushbackReader (NO_SOURCE_FILE:0)
Run Code Online (Sandbox Code Playgroud)

另外,有没有在clojure中进行常规文件处理的例子?

stdin clojure

38
推荐指数
4
解决办法
1万
查看次数