Shell-Script

使腳本對來自 apt-get 的提示回答“Y”

  • May 16, 2022

我使用bash腳本來初始設置和更新虛擬機。嘗試讓此bash腳本配置虛擬機,而無需手動執行此操作。

#! /bin/bash
 
echo "Updating and Installing binaries"
echo yes | sudo apt-get update && sudo apt-get upgrade

我不確定如何自動回复“您要繼續嗎?Ysudo apt-get update && sudo apt-get upgrade迅速的。我怎樣才能修復我的腳本來做到這一點?

我正在使用 Ubuntu。

選項-yapt-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) 中找到。

引用自:https://unix.stackexchange.com/questions/702763