GNU autotooling,在哪里安装shell函数?

GNU autotooling,在哪里安装shell函数?

我有一个小项目,它使用 GNU 自动工具配置和安装一些 shell 脚本。

现在,脚本必须获取包含一些 shell 函数的公共文件。

该文件应该安装在哪里make install

根据 ”安装目录变量”,libexecdir用于可执行文件(包含 shell 函数的文件本身不是可执行文件),并且datadir用于与体系结构无关的数据(该文件取决于体系结构)。

是否有使用这两个路径(或任何其他安装路径)中的任何一个来安装仅包含 shell 函数的文件的先例?这些功能目前不打算单独使用。

答案1

要安装的函数位于 shell 的上下文中。
所以把它们存放在那里:~/.bash_functions

每次加载 shell 时,它都会加载命令 ,~/.bashrc甚至别名~/.bash_aliases。这些是 shell 脚本,只需将命令添加到 shell PATH 变量或设置别名。定义函数的 Shell 脚本也应该在这里定义。

.profile然后在您的或后面附加一行,.bashrc以确保它们已加载到您的终端或依赖于它们的 shell 脚本的开头:

if [ -f ~/.bash_functions ]; then
    . ~/.bash_functions
fi

根据需要将函数附加到文件:

#!/bin/bash
# ~/.bash_functions file
function_one () {
    echo "hi"
}
function_two() {
...

相关内容