gpt4 book ai didi

macos - 使用 expect 进行无人值守(无提示)Homebrew 安装

转载 作者:行者123 更新时间:2023-12-04 12:47:40 29 4
gpt4 key购买 nike

根据Homebrew安装说明,可以使用以下命令进行安装:

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

这有效,但需要用户输入两次;确认安装并在脚本调用的 sudo 提示中:
$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/mkdir /usr/local
Password:

Homebrew 没有无人值守安装的参数,所以我能想到的唯一选择是以编程方式输入预期数据。我尝试使用 expect ,但我不能完全正确地使用语法:
$ expect -c 'spawn ruby -e \"\$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)\";expect "RETURN";send "\n"'
ruby: invalid option -f (-h will show valid options) (RuntimeError)
send: spawn id exp7 not open
while executing
"send "\n""

我究竟做错了什么?

最佳答案

如果你想创建一个安装脚本来安装 homebrew默默地然后只是管一个空白echo到 Homebrew 软件的安装程序。然后将结果重定向到 /dev/null正如@charles-duffy 所建议的那样。

#!/usr/bin/env bash
# install.sh

URL_BREW='https://raw.githubusercontent.com/Homebrew/install/master/install'

echo -n '- Installing brew ... '
echo | /usr/bin/ruby -e "$(curl -fsSL $URL_BREW)" > /dev/null
if [ $? -eq 0 ]; then echo 'OK'; else echo 'NG'; fi
$ ./install.sh

关于macos - 使用 expect 进行无人值守(无提示)Homebrew 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24426424/

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