我创建了两个bash文件并将它们放在同一个项目文件夹中。我已将bash文件与此命令ln -s ~/{path_to_bash_file_one} x
相关联。现在我想在bash文件中使用bash文件中的一个函数,如下所示。
Bash文件一:
#!/usr/bin/env bash
# include files
source ./bash_file_two.sh
echo "hello " ${someFunc}
Bash文件二:
#!/bin/bash
someFunc () {
echo "someone"
}
当我调用它时,终端返回此错误/usr/local/bin/x: line 135: someoneFunc: command not found
。所以我的问题是,当一个文件通过符号链接链接时,正确的路径是什么?
答案 0 :(得分:1)
错误
/usr/local/bin/x: line 135: someoneFunc: command not found
与符号链接imho无关。
将bash文件更改为
someoneFunc () {
echo "someone"
}
来源
. /path/to/bash/file2
./path/to/x # Then run x
另外,用法
echo "hello " someOneFunc
乍一看看起来并不正确。相反,你是否寻找命令替换
echo "hello " $(someOneFunc)