( kikadff | 2014. 11. 11., k – 19:14 )

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