2

我有一个小 bash 功能来将我的 Macports 输出记录到文件中(因为安装经常会喷出一些很容易在终端噪音中丢失的小花絮),然后我只是将文件放到终端:

function porti {
    command sudo port install $@ >> $1.log 2>&1; cat $1.log
}

有没有办法同时做到这一点?

顺便说一句,我通过 $@ 进行安装,但文件名只有 $1,这样我就可以执行以下操作:

porti git-gore +bash_completion

并且只获取文件git-core.log但是其他人可能更喜欢在文件名中包含变体......

4

1 回答 1

8

通常的解决方案是使用tee(1)

sudo port install $@ 2>&1 | tee -a $1.log

应该做你想做的

于 2010-05-26T22:51:31.037 回答