当执行apt update -y && apt upgrade -y
自动脚本(在交互式 shell 中启动时运行)时,系统提示我重新启动某些服务。
我的脚本看起来像
#!bin/bash
export DEBIAN_FRONTEND=noninteractive
export NEEDRESTART_MODE=a
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y --fix-broken install
这是一个基于 Ubuntu 的“远程开发环境”,只能通过 ssh 访问,并且在重新启动时会被清除 - 因此我在初始 ssh 登录时(在交互式 shell 中)运行这些命令。
答案1
您设置的两个变量足以跳过前端提示。
它们无法正常工作,因为使用sudo
执行apt-get
:sudo
出于安全原因删除当前用户的环境。
如果您以 root 身份运行,请删除 sudo,它应该可以正常工作。如果您必须使用,sudo
您可以告诉它保留您的用户环境-E
:
-E, --preserve-env
Indicates to the security policy that the user wishes to preserve their exist‐
ing environment variables. The security policy may return an error if the
user does not have permission to preserve the environment.
致谢: