true est une fonction du shell qui renvoie vrai (i.e code de retour 0). A la place de "true", tu pourrais utiliser n'importe quelle autre fonction du shell, ou n'importe quel exécutable sur ton système. Par exemple :
if grep -q "^$user:" /etc/passwd
then
...
fi
Tu pourrais aussi utiliser une expression :
if [ `whoami` = 'root' ]
then
...
fi
$? est une variable du shell qui contient le code de retour de la dernière évaluation. Donc dans ton example ça sera toujours 0 puisque true réussit toujours. Dans mon premier example ça sera 0 si $user a un compte sur le système (succès du grep), ou 1 sinon (échec du grep). Dans mon deuxième exempleça sera 0 si tu es root (succès de la comparaison), ou 1 sinon.
http://www.gnu.org/software/bash/manual/bashref.html