0
我正在嘗試重定向到bash的node.js程序。 該命令包含一個像這樣的字符串。是否有一個相當於bash的<()sh
var virtualFile = '<(cat <<EndOfText\n' + fileContents + 'EndOfText\n)';
然而,當我重定向吧,SH在該文本怪胎,運行bash之前。
我想知道'<()'在sh中是否有等價物。由於
我正在嘗試重定向到bash的node.js程序。 該命令包含一個像這樣的字符串。是否有一個相當於bash的<()sh
var virtualFile = '<(cat <<EndOfText\n' + fileContents + 'EndOfText\n)';
然而,當我重定向吧,SH在該文本怪胎,運行bash之前。
我想知道'<()'在sh中是否有等價物。由於
如果您使用的進程替換(<(...)
)創建一個名爲僞文件,你可以在命令行的工具,它也讀取其stdin
上提供,那麼你應該認真考慮只是把內容( fileContents
)轉換成臨時文件。在大多數現代系統中,這將會變得具有合理的性能。它的其他優點是它很容易和兼容所有的shell,不僅僅是那些試圖與Posix兼容的。另一方面,如果你只需要將fileContents
加入一個實用程序,並且可以使用stdin來達到這個目的,那麼你的機器就太多了。只需使用here-doc本身('<<EndMarker\n' + fileContents + 'EndMarker\n'
)
爲什麼你需要所有的併發症?你不能直接使用here-doc嗎? – rici
它被稱爲[過程替代](http://mywiki.wooledge.org/ProcessSubstitution)。它不是POSIX,所以在'sh'中沒有等價物。畢竟,你打算做'<(貓...)'? – muru