脚本自动接受 EULA/许可协议

脚本自动接受 EULA/许可协议

我正在尝试编写一个包(steamcmd)的自动化脚本。

案例图是脚本的用户已被预先告知他/她已同意的 EULA。

好了,现在这些是一些已经可以使用的软件包:

没有人费心解释他们是如何找出每个独立语法的,但我想最终弄清楚这个问题,以便任何使用这个 ask ubuntu 问题的人都可以自动安装包 N。

据我所知,语法应该是这样的:

 echo PACKAGENAME PACKAGENAMEorUSERSPACE/accepted-PACKAGENAME-EULAPART select true | sudo debconf-set-selections
 sudo apt install PACKAGENAME

尽管到目前为止我还不能让它与许多变体一起工作:

 echo steamcmd steamcmd/accepted-steamcmd-eula select true | sudo debconf-set-selections

答案1

事实证明,使用 GUI 安装应用程序一次将允许您使用它来debconf-show确定“自动接受”的正确语法,例如:

sudo debconf-show ttf-mscorefonts-installer
  msttcorefonts/dldir:
  msttcorefonts/error-mscorefonts-eula:
* msttcorefonts/accepted-mscorefonts-eula: true
* msttcorefonts/present-mscorefonts-eula:
  msttcorefonts/dlurl:
  msttcorefonts/baddldir:

或者

sudo debconf-show steam
* steam/question: I AGREE
* steam/license:
* steam/purge:

星号表示已修改的条目,

其中有一些已修改的条目没有任何价值。

对于这些,您必须输入:

echo steam steam/license note '' | sudo debconf-set-selections

对于您想要的值:

echo steam steam/question select "I AGREE" | sudo debconf-set-selections

或者

echo msttcorefonts msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections

取决于值的类型。

一旦你完全满足了预期。

sudo apt install thing-with-eula-normally

应该可以顺利地完成脚本的中间部分而无需停止它。

相关内容