首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在命令行上创建文件并将其作为参数传递给命令

如何在命令行上创建文件并将其作为参数传递给命令
EN

Stack Overflow用户
提问于 2022-08-14 23:41:24
回答 2查看 86关注 0票数 0

我把这样的图书馆叫做:

代码语言:javascript
复制
# myFile.txt is a file that already exists read by `grun`
$ grun TestLexer tokens -tokens myFile.txt

但是,我不想传递一个文件,而是希望每次在命令行中运行该文件时都创建/重新创建该文件,如下所示:

代码语言:javascript
复制
$ grun TestLexer tokens -tokens "echo 'x+1' > myFile.txt"

怎样才是真正做到这一点的正确方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-15 00:05:06

巴什有过程替代

您可以运行一个命令,并将其输出作为文件一样提供给另一个命令:

代码语言:javascript
复制
$ grun TestLexer tokens -tokens <(echo 'x+1')

要了解正在发生的情况,请考虑:

代码语言:javascript
复制
$ echo <(echo 'x+1')

如果没有提供文件名,grun将从stdin读取,因此您还可以在数据中传递一个here-doc / 这里-字符串或管道:

代码语言:javascript
复制
$ grun TestLexer tokens -tokens <<<'x+1'
代码语言:javascript
复制
$ echo 'x+1' | grun TestLexer tokens -tokens
票数 6
EN

Stack Overflow用户

发布于 2022-08-15 00:18:53

这是一种选择吗?

代码语言:javascript
复制
echo 'x+1' > myFile.txt && grun TestLexer tokens -tokens myFile.txt

或者,在这样的情况下,可以多次并发运行(以防myFile.txt被覆盖),或者您不希望提交文件名:

代码语言:javascript
复制
tmp=$(mktemp) && echo 'x+1' > $tmp && grun TestLexer tokens -tokens $tmp  && rm -f $tmp
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73355799

复制
相关文章

相似问题

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