【问题标题】:Press enter, or write yes in bash script [duplicate]按回车键,或在 bash 脚本中写入 yes [重复]
【发布时间】:2018-04-05 05:23:05
【问题描述】:

我想创建一个bash 脚本(称为 install_conda.sh),它在我的 Ubuntu 上安装 Anaconda Cloud。我已经使用wget 下载了包,我可以让它运行,但是有些事情我不知道该怎么做。

  1. 我运行 anaconda 脚本后的第一件事是:“为了继续安装过程,请查看许可协议。请按 ENTER 继续”。如何让我的install_conda.sh 按下那个Enter

  2. 按 Enter 后,会出现另一件事:“您批准许可条款吗?[yes|no]”。在这里,我必须输入yes,然后按Enter。再次,如何做到这一点?

  3. 现在,这个东西出现了:“Anaconda3 现在将安装到这个位置:/path/to/anaconda3 Press ENTER to Confirm the location”。我必须再次按Enter...

  4. 最后,我必须再次输入yes,为此:您是否希望安装程序将 Anaconda3 安装位置添加到您的 /home/whatev/.bashrc 中的 PATH 中? [是|否]”。

2 天搜索谷歌没有帮助。我读过一些关于xdotool 的文章,但我想避免从 Internet 安装其他东西,所以请只使用 bash。

提前致谢:)

【问题讨论】:

  • 你试过expect吗? Check this
  • 据我所知,为了使用expect,我必须先安装它。我想避免这种情况,因为该脚本可能会在无法访问 Internet 的计算机上使用。
  • @tripleee,我明白您为什么将其标记为重复,但是,我发现答案与您链接的答案完全不同。可能值得这样做,也许 OP 可以重新措辞原始问题以增加一些价值。只是一些想法......

标签: linux bash shell


【解决方案1】:

我正在发布另一个答案,因为这可能更接近您想要的。

Anaconda 有一个“silent install”选项。从该页面上的示例:

wget http://repo.continuum.io/miniconda/Miniconda3-3.7.0-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"

【讨论】:

  • 非常感谢@OliverBaumann!
  • @DavidBotezatu,如果这有帮助,请接受它作为答案:)
【解决方案2】:

yes 很好地为您服务! 至于发送回车,可以试试发送换行符\n吗?

可能是这样的:

#!/bin/bash
yes | bash Anaconda3-4.2.0-Linux-x86_64.sh

【讨论】:

  • 你能给我一个确切的例子吗?我的脚本如下所示:$!/bin/bash bash /tmp/Anaconda3-5.0.0.1-Linux-x86_64.sh
  • @DavidBotezatu yes | install_conda.sh
  • @Aserre 它不起作用...如果我这样做 yes | install_conda.sh 它告诉我 install_conda.sh: command not found
  • @DavidBotezatu 您的脚本将以不同的方式命名。顺便说一句,您只是想自动运行默认的 Anaconda 安装脚本吗?还是您实际上编写了一个脚本?如果是,请发布!
  • @DavidBotezatu 您必须以这种方式运行它:是 | bash install_conda.sh 或:是 | ./install_conda.sh 如果你的脚本有权限。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
  • 2019-12-30
  • 1970-01-01
  • 1970-01-01
  • 2015-11-19
  • 2015-10-30
相关资源
最近更新 更多