2016-11-10 53 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功能。

相关问题