使用Bash echo回答pkgadd提示

问题描述 投票:1回答:1

我试图使用pkgadd实用程序在Solaris 10上静默安装软件包。见例子:

pkgadd -G -D pkg123_x64.pkg
"Select package(s) you wish to process (or 'all' to process all packages).

通过echopkgadd的管道来解决这个问题:

echo "all" | pkgadd -G -D pkg123_x64.pkg
"Processing package instance <pkg123>.."
"This package contains scripts which will be executed with super-user permission during the process of installing this package. Do you want to continue with the installation [y,n,?]

一切都好。但我不知道如何回答第二个问题。我试过了:

echo "all y" | pkgadd -G -D pkg123_x64.pkg

但这不起作用。这可能吗?

使用:GNU bash版本3.2.51(1)Solaris 10

bash unix solaris
1个回答
1
投票

你可以创建一个package response file

使用响应文件(pkgadd

响应文件包含您对交互式软件包提出的特定问题的答案。交互式软件包包含一个request脚本,在安装软件包之前会询问您的问题,例如是否应安装软件包的可选部分。

如果您在安装之前知道该软件包是交互式软件包,并且您希望存储答案以防止在将来的安装过程中进行用户交互,请使用pkgask命令保存您的响应。有关此命令的更多信息,请参阅pkgask(1M)

将响应存储到request脚本提出的问题后,您可以使用pkgadd -r命令安装程序包而无需用户交互。

来自the pkgask man page

描述

pkgask允许管理员将答案存储到交互式软件包(一个带有请求脚本的软件包,即一个必须命名为request的用户创建的文件)。调用此命令会生成一个响应文件,然后在安装时将其用作输入。使用此响应文件可防止在安装期间发生任何交互,因为该文件已包含程序包所需的所有信息。

© www.soinside.com 2019 - 2024. All rights reserved.