2016-11-10 51 views
0

我有一個帶別名的cshrc文件,在那個文件中,我想設置一個別名,指向在bash文件中定義的函數。在tcsh中爲在bash腳本中定義的函數設置別名

bash函數文件AliasFunc:

function aaa() 
{ 

echo stackoverflow 

} 

例.cshrc文件:

bash -c 'source AliasFunc' 

alias bashfunc aaa 

bashfunC#calling bashfunc 

採購以下錯誤.cshrc文件的結果:

bashfunc: Command not found. 

回答

2

什麼bash -c 'source AliasFunc'你cshrc文件確實是啓動一個新的bash shell,加載AliasFunc文件,然後退出。它根本不會影響父級csh shell。

它只是碰巧bash和csh都有一個source關鍵字,但這並不意味着它在某種程度上「兼容」。你現在要做的就是試圖通過在Perl程序中啓動一個新的Python進程來導入Perl中的Python模塊。

你可以做的是沿着線的東西:

$ alias bashfunc 'bash -c "source AliasFunc && aaa"' 
$ bashfunc 
stackoverflow 

每次bashfunc別名調用它會啓動一個新的bash shell將源AliasFunc文件會立即運行的bash aaa功能。

相關問題