1

这个问题来自Chris Johnson第 2 章练习 2中的Pro Bash Programming

使用 $RANDOM 编写脚本,将以下输出写入文件和变量。以下数字仅用于显示格式;你的脚本应该产生不同的数字:

 1988.2365
13798.14178
10081.134
 3816.15098

这是我的解决方案:

printf -v var "%5d.%-5d\n" $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM $RANDOM > FILE

看来输出直接进入var,FILE为空。

我的问题是,有没有办法将标准输出同时重定向到变量和文件

4

1 回答 1

4

你可以写:

var="$(printf '%5d.%-5d\n' $RANDOM ... | tee FILE)"

使用命令tee“拆分”标准输出,以便它进入FILE和进入一个新的标准输出,可以使用命令替换在您的变量捕获

于 2013-01-20T03:23:05.050 回答