2015-10-02 56 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實用...

相關問題