2015-10-02 53 views
0

我已经合并了两个脚本的别名。以下别名在我安装操作系统将Shell脚本输出复制到文件中

alias build_command 'directory_1/foo.sh build' 
alias copy_command 'directory_2/bar.sh' 
alias build_copy 'build_command && copy_command' 
alias bc build_copy 

工作正常问题是,当我想转储文件的端子输出。任何人都可以告诉我我该怎么做?仅供参考,我试着在终端bc > temp.txt,但不工作,我不允许修改生成和复制脚本:(

感谢提前:)

+0

首先,你不应该使用别名,但功能。现在,如果你真的想使用'bc'别名和重定向输出,使用:'{bc; }> temp.txt',否则只有'copy_command'的输出被重定向。 –

回答

0

man bash

将近每个目的,别名都被shell函数取代。


,当你进入bc > temp.txt问题是bash的扩展的别名:

directory_1/foo.sh build && directory_2/bar.sh > temp.txt 

因此,只有directory_2/bar.sh输出重定向。

为了解决这个问题,使用方法:

{ bc; } > temp.txt 

,这样,由于分组,完整的命令的输出重定向。


另一种选择是使用功能:

bc() { build_copy; } 

现在bc > temp.txt做你的期望。


在一个侧面说明:bc是一个相当可怜的名字的选择,因为已经有一个名为bc实用...

相关问题