Shell-Script
使腳本對來自 apt-get 的提示回答“Y”
我使用
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。
選項
-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
) 中找到。