a _new_ver nem jó, ott csak a csomagverziónak kellene lennie...
_new_ver=$(grep $_name $VERSION | sed -n "s/$_name-\(.*\)/\1/p" | sed 's/\.tar\.gz//;s/\.tar\.bz2//;s/\src//')
ez van nálad?
vagy ahogy uzsolt írta össze is lehet vonni a sed-eket:
_new_ver=$(grep $_name $VERSION | sed -n "s/$_name-\(.*\)/\1/p;s/\.tar\.gz//p;s/\.tar\.bz2//p;s/\src//p")
figyelj a sed-nél a "" vagy '' -re. A fentiek szerint én megkapom a $VERSION alatt lévő fájlban felsorolt sorok közül pl a gcc verzióját, és csak a verzióját.
nálam tehát gcc-nél maradva ezek az értékek:
_name=gcc
_ver=4.9.1
_new_ver=4.9.2
és ezután:
if [ $_ver != $_new_ver ]; then
echo "$_name: $_ver >> $_new_ver"
else
echo "$_name: Nincs frissítés"
fi
ezt kapom:
gcc: 4.9.1 >> 4.9.2