这mycommand
是我的 lib/work.sh 文件中的一个函数。
cat .bashrc
source /home/lib/work.sh
这意味着它mycommand
是自动获取的。
mycommand
可以在终端执行。
现在要编辑文件vim test.txt
,shift+"
进入vim的命令模式,输入!mycommand
,
/bin/bash: mycommand: command not found
shell returned 127
Press ENTER or type command to continue
为什么mycommand
在vim中找不到?
答案1
有不同类型的贝壳 -登录 Shell 和非登录 Shell 之间的区别? (寻找该.bashrc
部分)
并非所有这些都是采购,.bashrc
因此work.sh
没有采购。
要解决您的问题,您需要导出函数以使其可用于子 shell。
myfun() {
echo "Hello!"
}
export -f myfun
--
vim
:!myfun
作品!