我有一个小项目,它使用 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() {
...