我在.bashrc
这样创建了一个函数;
#!/bin/bash
function test() { ls; }
export -f test
并在这样的新终端中调用它;
$ test
结果为test: command not found
我在.bashrc
访问某个功能时做错了什么?
答案 0 :(得分:2)
在.bashrc
来源之前,无法明确地或在非登录交互式shell启动时定义该函数。如果您的终端启动登录shell,则不会获取该文件。
您无需导出该功能。
答案 1 :(得分:2)
您可能希望在主目录中创建一个“.function”文件,并将其放在.bashrc中。
之前:如下所示,它不起作用。
%_Host@User> add 2 3
bash: add: command not found...
在$ HOME / .function中定义一个函数
%_Host@User> cat ~/.function
add ()
{
echo "$1 + $2" | bc
}
以下是我在$ HOME / .bashrc中获取所有功能的方法
%_Host@User> cat ~/.bashrc|grep source|grep func
source $HOME/.function
%_Host@User>
您可能需要将其重击或重新登录,或者只需在提示符下键入bash即可。
现在可行:
%_Host@User> add 2 3
5
%_Host@User>
请试一试。感谢。