node.js - 在nodejs中从stdin读取的正确方法
问题描述
https://github.com/nodejs/node/issues/7439
上面的页面显示fs.readFileSync(process.stdin.fd)
无法正常工作。
fs.readFileSync(fs.openSync('/dev/stdin', 'rs'))
从标准输入读取的正确方法是什么?但似乎它只在某些情况下有效,但并非所有情况。
我想知道从 nodejs 中的标准输入读取的正确方法是什么。
解决方案
process
全局有一个stdin
接口。这将在用户输入文本并按下Enter
键盘后记录一行。
let buffer = ''
process.stdin.resume()
process.stdin.on('data', (d) => buffer = buffer.concat(d.toString()))
setTimeout(() => {
// Exit after 5 seconds and print entered content
console.log(buffer.toString('utf8'))
process.exit(0)
}, 5000)
文档 - https://nodejs.org/api/process.html#process_process_stdin
推荐阅读
- react-navigation - 更改选项卡时重置导航堆栈(嵌套在 TabNavigator 中的 StackNavigators)
- python-3.x - 无法连接到 ubuntu 远程服务器上的 jupyter notebook
- c# - 从面板中删除后,动态创建的按钮仍会触发“单击”事件
- python - 如何使用 PYTHON 实施 Amazon Kinesis PutMedia 方法
- git - 在 reflog 中,如何知道重置是软、混合还是硬重置?
- spring - 引起:org.apache.maven.plugin.MojoExecutionException: .git 目录未找到!请在您的 pom.xml 中指定一个有效的 [dotGitDirectory]
- python - 通过选项菜单的白线
- reactjs - AsyncStorage : react-native - getItem()
- amazon-s3 - Adding S3 trigger to Lambda function using CloudFormation
- python - How to tell class to create a sphere in Python?