Kaikenlaista pikkukiusaa... *ubuntussa toimiva skriptini alkoi tökkiä openSUSEssa eri tavoin toimivan which-komennon takia.
Skripti alkaa loitsulla
#!/bin/sh
...joka tietysti sekin saatetaan tulkita eri järjestelmissä eri lailla, mutta periaatteessa kai niin, että käyttöön tulee kuori, jolla ei ole (?) sisäistä which-komentoa vaan käytetään /usr/bin/which-ohjelmaa. (Normikuoreni on zsh, jossa on sisäinen which, mutta bashissa tunnutaan käytettävän /usr/binin ohjelmaa myös *ubuntussa – tosin se on eri ohjelma, kuten alta nähdään.)
Skripti tarkistaa tarpeellisten ohjelmien olemassaolon näin:
if [ -z "`which spuunmux`" ]; then
echo Nutistaan ohjelman puuttumisesta
fi
...mikä toimii *ubuntussa: which spuunmux palauttaa tyhjän jonon, jollei ohjelmaa löydy. openSUSEssa sen sijaan sama ei enää toimi, koska siellä which heltyy kaunopuheiseksi ja tiedottaa kaikki etsimänsä hakemistot, josta ohjelmaa ei ole löytänyt.
Olisiko ehdotusta, miten oikeasti pitäisi menetellä, kun haluaa tarkistaa ohjelman olemassaolon järjestelmässä?