在我的~/.bashrc
中,我有一个功能:
function sayHi() {
echo "hi, $@"
}
在Ruby中我想:
`sayHi "friend"`
但是,无论在何种情况下,sayHi
都在“{1}}或exec
中”找不到“{/ 1}}。
我怎样才能让Ruby使用system
中的函数?
答案 0 :(得分:6)
您的.bashrc
仅针对交互式shell运行。当您在Ruby中使用反引号执行命令时,它不会在交互式shell中执行该命令。
您可以通过运行bash -i
强制执行交互式shell。例如,要在交互式shell下运行命令,请使用:
`bash -ic 'sayHi "friend"'`