作为启动脚本的一部分,我正在尝试在 Ubuntu 18.04 VM 模板上自动安装 CUDA。一般来说,我对 bash 和云计算很陌生。当我运行安装 CUDA 的命令时,在安装过程中总是提示我通过输入相应的 ID 号从选项列表中选择国家和语言。
基本上,当我运行时:
sudo apt-get -y install cuda
我知道我必须手动输入“31”和“1”才能完成安装。作为一个相对的 n00b,我的问题是“我如何自动化这些输入,这样我就不必在每次启动这个 VM 模板的新副本时手动输入它们?”
我最初的方法是这样的:
printf "31\n1\n" | sudo apt-get -y install cuda
但这似乎不像我预期的那样工作。没有输入是自动填充的。
我的最终目标是在一个我不必接触的启动脚本中处理所有事情。
我感谢任何和所有帮助,如果我的问题已在其他地方得到回答,我深表歉意(如果有,我一直无法找到它,非常感谢被引导到它!)
安装
expect
并编写一个回答提示的期望脚本。这看起来像这样(警告 - 未以任何方式测试):您需要替换适当的实际提示而不是“第一个提示:”和“第二个提示:”。
在此处查看有关以下内容的更多信息
expect
:https://www.slashroot.in/expect-command-tutorial-linux-example-usage
http://tcl.tk/man/expect5.31/expect.1.html
您可能还对 感兴趣
autoexpect
,它可以通过观看您的交互式会话来自动生成脚本:http://tcl.tk/man/expect5.31/autoexpect.1.html