我有一个小的bash功能可以将我的Macports输出记录到一个文件中(因为安装经常会发出一些很容易在终端噪音中丢失的小花絮),然后我就把文件发送到终端:
function porti {
command sudo port install $@ >> $1.log 2>&1; cat $1.log
}
有没有办法同时执行此操作?
顺便说一句我通过$ @来安装,但文件名只需1美元,这样我就可以执行以下操作:
porti git-gore +bash_completion
并且只获取文件 git-core.log 但是其他人可能更喜欢在文件名中包含变体...
答案 0 :(得分:8)
通常的解决方案是使用 tee(1):
sudo port install $@ 2>&1 | tee -a $1.log
应该做你想做的事情