feat(ensure-apk-packages): 添加确保 APK 包安装的脚本
This commit is contained in:
32
ensure-apk-packages.sh
Normal file
32
ensure-apk-packages.sh
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
log() {
|
||||||
|
echo "[init] $(date -u '+%Y-%m-%dT%H:%M:%SZ') $*"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$#" -eq 0 ]; then
|
||||||
|
log "no packages supplied; nothing to ensure"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "ensuring packages: $*"
|
||||||
|
|
||||||
|
missing_packages=""
|
||||||
|
for pkg in "$@"; do
|
||||||
|
if ! command -v "$pkg" >/dev/null 2>&1; then
|
||||||
|
if [ -n "$missing_packages" ]; then
|
||||||
|
missing_packages="$missing_packages $pkg"
|
||||||
|
else
|
||||||
|
missing_packages="$pkg"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$missing_packages" ]; then
|
||||||
|
log "installing $missing_packages"
|
||||||
|
set -- $missing_packages
|
||||||
|
apk add --no-cache "$@" >/dev/null 2>&1
|
||||||
|
else
|
||||||
|
log "all requested packages already available"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user