我目前正在尝试构建一个 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
似乎后台进程只是使用脚本所需的资源,问题不在于脚本本身。