尝试从 Shell 脚本更新操作系统会导致错误

尝试从 Shell 脚本更新操作系统会导致错误

我目前正在尝试构建一个 shell 脚本来自动运行一系列命令,这些命令将采用新的 Raspbian 映像,并安装我通常需要的所有更新、软件包等。

为了启动脚本,我运行以下命令:

#!/bin/bash

echo -n "Updating OS..."

OUTPUT=$(sudo apt-get update && sudo apt-get -y upgrade)
    if [ $? -eq 0 ]
    then
        echo "Done"
    else
        echo "**********ERROR**********"
        echo "$OUTPUT"
        exit 3
    fi

当它运行时,我得到以下输出:

Updating OS...E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 2395 (apt-get)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
**********ERROR**********
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Reading package lists...

我尝试依次运行这两个命令,但输出无论如何都是相同的... shell 脚本中的下一组命令正在使用 dpkg,但我的印象是它不会继续运行直到更新完全完成。

任何帮助将不胜感激,我是 shell 脚本新手,所以如果这非常简单,我深表歉意。

答案1

似乎后台进程只是使用脚本所需的资源,问题不在于脚本本身。

相关内容