通过Homebrew模块化和分发bash脚本

上下文

我在〜/ .bashrc中定义了一些函数,我想把它变成一个Homebrew包.目前,这些函数在我的命令行中充当自定义命令:

# .bashrc
function foo() {
    # do something interesting
}

# at terminal
$foo
# => does the interesting thing

途径

我使用brew create创建了一个自制公式.我目前的做法如下:

>将函数定义移动到目录brew-script中的单独文件脚本中
>将brew-script下载为tarball,brew-script.tar.gz
>让我的brew公式将文本附加到〜/ .bash_profile的末尾,以便在终端会话启动时包含脚本

关注

>在brew公式中修改.bash_profile是不是很糟糕? (例如,当使用brew卸载脚本卸载时,brew应该以某种方式删除附加到.bash_profile的文本…解析.bash_profile似乎不太有趣.)
>是否已经建立了一个约定,用于在bash脚本中包含函数,以便可以从命令行使用它们?
>通常只是要求用户在.bash_profile或.bashrc中添加一些文本?

期望的结果

应该能够用brew安装干净,然后运行foo作为命令:

$brew install script
$foo
# => does the interesting thing

(假设brew配方已经安装在本地.我会担心审核并将配方推到自制软件中)

参见 https://github.com/Homebrew/homebrew/issues/50232https://github.com/Homebrew/homebrew/issues/50231.

我有一个安全的脚本‡修改〜/ .bash_profile作为自制安装过程的一部分. https://github.com/paul-hammant/homebrew-tap/blob/master/switchjdk.rb

据称‡

相关文章