Обход подсказки (для возврата) в homebrew install script
Очень простой script, который устанавливает homebrew:
#!/bin/bash
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
Как мне нажать enter в script, как это? Ожидаете ли вы лучшего маршрута?
Ответы
Ответ 1
Считывание источника https://raw.github.com/Homebrew/homebrew/go/install - это только подсказывает, является ли stdin TTY. Если вы перенаправляете stdin из /dev/null
, он не будет запрашивать вообще. Итак:
ruby \
-e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" \
</dev/null
Ответ 2
Это то, что yes
для:
yes '' | ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Ответ 3
Press enter
если он просит нажать клавишу возврата
Для большей ясности возьмите документы по вареву
https://docs.brew.sh/
Ответ 4
Согласно ведущему сопровождающему Homebrew:
echo | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Ответ 5
Это прекрасно работает для меня,
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null