我在 Unix 和 Linux 以及其他使用短语“反引号已被弃用”的站点上多次看到此评论,这与 Bash 和 Zsh 等 shell 相关。
这个说法是真的还是假的?
我希望能够捕获命令替换的确切输出,包括尾随的换行符。
我意识到默认情况下它们会被剥离,因此可能需要进行一些操作才能保留它们,并且我想保留原始退出代码。
例如,给定一个带有可变数量的尾随换行符和退出代码的命令:
f(){ for i in $(seq "$((RANDOM % 3))"); do echo; done; return $((RANDOM % 256));}
export -f f
Run Code Online (Sandbox Code Playgroud)
我想运行类似的东西:
exact_output f
Run Code Online (Sandbox Code Playgroud)
并有输出:
Output: $'\n\n'
Exit: 5
Run Code Online (Sandbox Code Playgroud)
我对bashPOSIX 和 POSIX都感兴趣sh。