gpt4 book ai didi

ruby - 覆盖 at_exit 方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:33:46 28 4
gpt4 key购买 nike

我正在尝试在 bash 中为我的点文件编写一个无人值守的安装脚本,它在开始时要求 sudo 一次,并在整个过程中保持它处于事件状态。不过,我在安装 Homebrew 时发现了一些障碍。

事实证明 install script附带这个:

at_exit { Kernel.system "/usr/bin/sudo", "-k" }

这让我别无选择,因为 sudo -k 无条件地终止了 sudo 超时。我对 Ruby 的了解几乎为零,但我觉得我最好的选择是在调用时尝试从安装脚本外部覆盖 at_exit。我不知道这是否可行,而且我的 Google 技能在这方面让我失望。

我这样调用安装脚本:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null

如果可能的话,我想避免 fork 脚本并使其保持最新状态,因此我们将不胜感激任何提示或解决方法。

最佳答案

您可以在执行之前使用 sed 从脚本中删除该行:

sed 's/at_exit.*sudo.*-k.*$//'

作为一个完整的命令行:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install | sed 's/at_exit.*sudo.*-k.*$//')" < /dev/null

关于ruby - 覆盖 at_exit 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31908193/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com