如何在命令行创建文件并作为参数传递给grun命令
解决方案
你之前的写法错误在于把echo 'x+1' > myFile.txt这个命令字符串当成文件名传给了grun,但grun需要的是实际的文件路径,不是命令。下面是几种正确的实现方式:
方式一:先生成文件再执行grun
用&&串联命令,确保文件生成后再让grun读取:echo 'x+1' > myFile.txt && grun TestLexer tokens -tokens myFile.txt每次运行都会先覆盖
myFile.txt的内容,再执行grun读取该文件。方式二:通过管道直接传递内容(无需中间文件)
利用grun在未指定输入文件时会读取标准输入的特性,直接把内容通过管道传给它:echo 'x+1' | grun TestLexer tokens -tokens这种方式更简洁,不需要在磁盘上创建临时文件。
方式三:用进程替换模拟文件(适合bash/zsh)
如果你的shell支持进程替换(比如bash、zsh),可以用<(command)语法创建一个虚拟文件,传给grun:grun TestLexer tokens -tokens <(echo 'x+1')这个虚拟文件会临时存储
echo的输出,grun读取它的内容,执行完后自动清理,不会留下实际文件。
内容的提问来源于stack exchange,提问作者samuelbrody1249
相关产品推荐
相关产品推荐

