ruby exec使用我的〜/ .bashrc中的函数

时间:2012-11-05 22:58:53

标签: ruby bash exec

在我的~/.bashrc中,我有一个功能:

function sayHi() {
    echo "hi, $@"
}

在Ruby中我想:

`sayHi "friend"`

但是,无论在何种情况下,sayHi都在“{1}}或exec中”找不到“{/ 1}}。

我怎样才能让Ruby使用system中的函数?

1 个答案:

答案 0 :(得分:6)

您的.bashrc仅针对交互式shell运行。当您在Ruby中使用反引号执行命令时,它不会在交互式shell中执行该命令。

您可以通过运行bash -i强制执行交互式shell。例如,要在交互式shell下运行命令,请使用:

`bash -ic 'sayHi "friend"'`