Une autre méthode nécessitant Linux et readlink
:
#!/bin/ash
exe=`exec 2>/dev/null; readlink "/proc/$$/exe"`
case "$exe" in
*/busybox)
echo "It's a busybox shell."
;;
esac
Personnellement je préfère :
if ps ax -o pid,comm | grep `echo $$` | grep busybox ; then
echo "it is BusyBox"
fi
Ce qui est une vérification équitable pour vous assurer que vous exécutez le shell busybox.
Cela fonctionne en demandant à ps de générer une liste de pids par rapport aux noms de programmes, puis en trouvant notre pid et en vérifiant si le nom du programme contient busybox.