如果我在shell控制台下运行自定义bash函数:
~/w/dotfiles/ruby [g:master-] ¶ repository_root
/Users/tian/Documents/workspace/dotfiles
如果我在IRB下运行自定义bash函数:
irb(main):001:0> `repository_root`
(irb):1: command not found: repository_root
=> ""
我如何在IRB中获得相同的结果?
# declare
repository_root () {
if git_is_repository ; then
git_show_repository_root
fi
}
答案 0 :(得分:2)
假设您的函数位于您的某个bash配置文件中,您希望启动一个交互式(-i
)登录(-l
)shell来执行(-c
)您的函数:
output = %x{bash -lic 'repository_root'}
答案 1 :(得分:1)
执行此操作的一种方法是从函数中输出命令。
这是一个简短的操作方法
.bin
中创建HOME
目录,并将其添加到$PATH
中的.bash_rc
。.bin
。source .bash_rc
更新您刚刚更改的$PATH
变量。fnx
,只需使用后退标记运算符或exec
即可运行
命令 - exec("fnx")
答案 2 :(得分:0)
repository_root
在哪里宣布?
.bash_profile中? .bashrc中?
在使用repository_root
`. /path/to/file/declaring/repository_root; repository_root`