是否有客观上更好的方法在bash脚本中创建临时文件?
我通常只是将它们命名为我想到的任何内容,例如tempfile-123,因为当脚本结束时它将被删除.除了覆盖当前文件夹中可能的tempfile-123之外,还有什么不利吗?或者以更仔细的方式创建临时文件有什么好处?
ksh有一个非常有趣的构造来做到这一点,详细解答如下:https://stackoverflow.com/a/11172617/636849
从Bash 4.0开始,有一个内置的mapfile内置命令可以解决这个问题:http: //www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html
但奇怪的是,它似乎不适用于进程替换:
foo () { echo ${BASH_SUBSHELL}; }
mapfile -t foo_output <(foo) # FAIL: hang forever here
subshell_depth=${foo_output[0]} # should be 0
Run Code Online (Sandbox Code Playgroud)
但是如何在Bash v3.2中做到这一点?