我的代码有问题,我需要提取程序的发行版本以便比较版本,并在必要时更新它。
我的完整程序在此存储库中:autonetplan
我需要帮助的具体文件是这个:autonetplan.sh
Line 296-320
我在更新系统时遇到问题,输入是:
autonetplan -u
输出为: jq: 解析错误:第 8 行第 10 列的数字文字无效
# Revisar actualización y comparar
# Obtener la última versión desde GitHub sobre el programa
latest_release=$(curl -s "https://github.com/Nisamov/autonetplan/releases/tag/autonetplan" | jq -r '.tag_name')
# Obtener ultima version
# Extraer el número de versión del nombre del release
latest_version=$(echo "$latest_release" | sed -n 's/.*v\([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p')
# Verificar si hay una nueva versión disponible
if [[ "$latest_version" != "$current_version" ]]; then
echo "¡Nueva versión disponible! Versión actual: $current_version, Última versión: $latest_version"
# Solicitar actualizacion
read -p "¿Desea actualizar el programa? [s/n]: " updaterequest
if [[ $updaterequest == "s" ]]; then
# Código para actualizar el programa
echo "Actualizando el programa..."
elif [[ $updaterequest == "n" ]]; then
# Cancelacion de actualizacion
echo "[#] Se ha cancelado la actualizacion"
exit 1
else
echo "[#] Se ha añadido un parámetro no registrado, cancelando actualización..."
exit 1
fi
else
echo "Tu programa ya está actualizado. Versión actual: $current_version"
fi
使用 GitHub API 获取版本:
latest_release=$(curl -LsH "Accept: application/vnd.github+json" https://api.github.com/repos/Nisamov/autonetplan/releases | jq .name)