我了解,运行代码时sudo apt-get install <packagename>
它只会给我以下内容:
Do you want to continue? [Y/n]
如果该方案将安装附加软件包apt
。但是,每次安装软件包时,无论是否还会安装其他软件包,我如何强制显示该确认对话框?
操作系统信息:
Description: Ubuntu 14.10
Release: 14.10
封装信息:
apt:
Installed: 1.0.9.2ubuntu2
Candidate: 1.0.9.2ubuntu2
Version table:
*** 1.0.9.2ubuntu2 0
500 http://gb.archive.ubuntu.com/ubuntu/ utopic/main amd64 Packages
100 /var/lib/dpkg/status
答案1
一个简单的解决方案是编写一个先检查然后启动的脚本。例如:
#!/usr/bin/env bash
## Do a test run of the apt-get command, printing the relevant details
sudo apt-get -s install "$@" |
perl -ne '$a=1 if /Reading state information/; if($a==1 && /:$/ || /^\s/){print}'
read -p "Do you want to continue? [YN] " response
[[ $response =~ ^[Yy] ]] && sudo apt-get install "$@"
如果你将该脚本保存在路径中的某个位置,例如~/bin/apt-nanny
并使其可执行(chmod +x ~/bin/apt-nanny
),则可以使用它来安装软件包(使用nedit
作为示例):
$ apt-nanny nedit
The following packages were automatically installed and are no longer required:
liblightdm-gobject-1-0 lightdm-gtk-greeter
The following extra packages will be installed:
libmotif-common libmrm4 libuil4 libxm4
The following NEW packages will be installed:
libmotif-common libmrm4 libuil4 libxm4 nedit
Do you want to continue? [YN]
如果您输入y
或Y
,脚本将继续并安装软件包。
注意事项:
- 如果您无论如何都需要确认,脚本将会向您显示两次相同的信息。
- 我还没有对此进行广泛的测试,可能会出现显示比您需要的多/少的信息的情况。
- 它很丑,而且还会运行
apt-get
两次。