nerd Här ser du hela skriptet med mina kommentarer, men det är nog lättare att se om du laddar hem det och tittar i en texteditor.

#!/bin/bash

# Först måste du installera Qt 4!
# Hämta hos Trolltech

# Script som länkar filer i /usr/local/Trolltech/Qt-x.x.x/bin/ till
# filer som alla slutar på '4' i /usr/local/bin/
# på så sätt kan man köra QT4 på en maskin som internt
# använder QT3. Alla vanliga kommandon ersätts med
# samma kommando med en 4:a sist i namnet
# Testat på Slackware 10.2 och 11.0

# (C) Ingemar Ceicer 2006
# programmering1 ( snabela ) ceicer.org

# Användning:
# 'makeqt4link remove' Tar bort alla länkar
# 'makeqt4link Qt-x.x.x' länkar till version x.x.x
# Kolla i /usr/local/Trolltech/ vad senaste versionen heter!

# Test med:
# qmake4 --version
# det skall stå något som liknar detta:
# 'Using Qt version 4.2.1 in /usr/local/Trolltech/Qt-4.2.1/lib'
# Då vet man att det fungerat!

QT_BIN_DIR=/usr/local/Trolltech/qt/bin/
USER_BIN_DIR=/usr/local/bin/

if [ ! $1 ] || [ $1 == "--help" ]; then
echo "Usage: $0 remove | $0 Qt-x.x.x"
echo "'remove' removes all links"
echo "'Qt-x.x.x' is the version you want to link"
echo "that could be found in '/usr/local/Trolltech/'"
exit
fi

# Kollar att det jag länkar till existerar
if [ ! -d /usr/local/Trolltech/$1 ] && [ $1 != "remove" ]; then
echo $1 "does not exist"
echo "Pleas Try '$0 --help' for more information."
exit
fi

# Tar bort ev. gammla länkar från tidigare versioner
if [ -h /usr/local/Trolltech/qt ]; then # kollar om kataloglänken finns
# Tar bort alla länkade filer
link=$(ls $USER_BIN_DIR)
for f in [ $link ]; do
if [ -h "$USER_BIN_DIR""$f" ]; then
x=$(ls -l `echo $USER_BIN_DIR$f`)
# Säkerställer att bara QT länkar tas bort
y=$(echo $x | awk '{print match($10, /^\/usr\/local\/Trolltech\/qt\/bin\//)}')
if [ $y -eq 1 ]; then
rm -f $USER_BIN_DIR$f
fi
fi
done
# Och avslutar med att ta bort kataloglänken
rm /usr/local/Trolltech/qt
fi

if [ $1 == "remove" ]; then
echo "All links has been removed"
exit
fi

# Nya länkar

# Länkar katalogen 'qt' till nya versionen
ln -s /usr/local/Trolltech/$1 /usr/local/Trolltech/qt

# Dags att länka alla filer och lägga till en 4:a
filer=$(ls $QT_BIN_DIR)
for f in [ $filer ]; do # Alla filer i källkatalogen skall länkas
if [ -e "$QT_BIN_DIR""$f" ]; then # Test för 'regular files', dvs. '.' och '..' skall inte med
ln -s $QT_BIN_DIR$f $USER_BIN_DIR$f"4" # En 4:a läggs till på slutet
fi
done

echo "Files in $QT_BIN_DIR$1 has successfully"
echo "been linked in $USER_BIN_DIR"
exit 0