我使用bash
脚本来初始设置和更新虚拟机。尝试让此bash
脚本配置虚拟机而无需手动执行此操作。
#! /bin/bash
echo "Updating and Installing binaries"
echo yes | sudo apt-get update && sudo apt-get upgrade
我不知道如何自动回复Y
“sudo apt-get update && sudo apt-get upgrade
你想继续吗?”迅速的。我该如何修复我的脚本来做到这一点?
我正在使用Ubuntu。
答案1
选项-y
将apt-get
自动对提示回答“是”。这也会导致apt-get
非交互式运行。如果要更改保留的软件包,将安装未经身份验证的软件包,或者卸载重要的软件包,然后apt-get
将中止其操作。
和--yes
选项--assume-yes
是 的别名-y
。
这意味着您可以像这样编写脚本:
#!/bin/sh
echo 'Updating and Installing binaries'
sudo apt-get -y update && sudo apt-get -y upgrade
或者,如果您假设脚本由 root 执行(这可以避免sudo
在脚本运行时以交互方式要求输入密码):
#!/bin/sh
if [ "$(id -u)" != "0" ]; then
echo 'Need to be root' >&2
exit 1
fi
apt-get -y update && apt-get -y upgrade
该--trivial-only
选项可以被视为与 的逻辑相反--assume-yes
,因为它会对任何提示回答“否”。
有关详细信息,apt-get
请参阅其手册 ( man apt-get
)。