linux - 自动化 bash 脚本

标签 linux bash shell amazon-ec2

我正在尝试使用 bash 脚本在新创建的 EC2 实例 上安装 Anaconda。安装时,它首先要求按 enter 然后阅读协议(protocol)(我可以按 q 跳过),然后输入 yes 接受它。完成后,我必须再次键入 yes 以将 PATH 添加到 .bashrc。我正在尝试自动执行此操作,但我不确定应该如何完成。我尝试使用 Yes 命令,但没有用。我发现我可以使用 expect command 但是为此我必须先安装它的包并且它还要求按一些键(我无法自动执行)所以我必须找到其他方法。如果有人可以提供一些解决方案,那就太好了。

最佳答案

正如 @Dusan Bajic 所建议的,我静默安装了 Anaconda,它不要求任何用户输入。我只是执行了以下命令:

wget https://repo.anaconda.com/archive/Anaconda2-5.1.0-Linux-x86_64.sh -O anaconda.sh
bash anaconda.sh -b

其中 b 是:不对 ~/.bashrc 进行 PATH 修改的批处理模式。假定您同意许可协议(protocol)。不编辑 .bashrc 或 .bash_profile 文件。

然后我手动将 PATH 添加到 .bashrc

echo 'export PATH=/home/ec2-user/anaconda2/bin:$PATH' >> ~/.bashrc 

关于linux - 自动化 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50038868/

相关文章:

linux - 以太网驱动程序无法在 linaro 版本 3.1 上运行

c++ - 简单 C++ 代码中的段错误

linux - Bash脚本运行顺序,为什么它会对读取命令进行排队?

python - 将 Ipython 变量作为字符串参数传递给 shell 命令

c++ - 运行我的程序说 "bash: ./program Permission denied"

C++ 线程附加/分离段错误

c++ - 使用管道在同一进程上执行多个 shell 命令时读取死锁

bash - 如何使用 `cat` 将文件内容传递给 `_values`(zsh 补全)

bash - 如何逐行连接 2 个多行字符串,就像 'paste' 对两个文件所做的那样

用于成对比较的 Bash 脚本