Sie sind sich nicht sicher, ob Ihr selbstgeschriebenes Skript oder etwas anderes ausgeführt wird, wenn Sie es starten. Womit können Sie überprüfen, was ihre Bash tatsächlich ausführt? (Nur die beste Wahl.)
type
which
echo $PATH
file
whatis
whereis
LPI-Lernziel Die Shell-Umgebung anpassen und verwenden (105.1)
Probieren Sie diese Frage einmal durch Ausschliessen zu lösen: which
(Antwort 2) gibt aus, welches Programm die Shell aufruft, indem es
sich am in der Variable PATH festgelegten Suchpfad entlang
hangelt. Das gibt Ihnen möglicherweise Aufschluss, aber es könnte auch
sein, dass eine Shellfunktion mit dem Namen Ihres Skripts Ihrem Skript
vorgezogen wird. which hilft Ihnen hier nicht.
whereis (Antwort 6) zeigt Ihnen die Fundstellen des Programms
sowie der zugehörigen Dokumentation. Wenn Sie Ihr Programm nicht an
einer der Plätze installiert haben, die whereis durchsucht (schauen
Sie in der Manpage nach), dann gibt Ihnen das keinen Aufschluss über
Ihr Programm, aber möglicherweise über kollidierende
Systemprogramme. Trotzdem: Nicht gut genug.
whatis liefert eine kurze Beschreibung des Programms aus der
Manpage-Datenbank, aber sagt auch nichts darüber aus, was die Shell
ausführt. Antwort 5 ist also auch falsch.
file (Antwort 4) gibt den Typ der angefragten Datei an
(z.B. ASCII-Text oder ausführbare Datei). Hierfür müssen Sie schon
einen kompletten Dateinamen beisteuern. Diese Antwort ist also auch
nicht hilfreich.
Auch der Aufruf von echo $PATH (Antwort 3) hilft nicht weiter,
zeigt er doch nur an, welche Verzeichnisse im Suchpfad der Bash liegen
und nicht, welche Kommandos darin zu finden sind -- und die
Einschränkung mit den Shellfunktionen, die wir oben erwähnt haben,
gilt auch hier.
Somit bleibt nur noch type übrig (Antwort 1) -- und tatsächlich,
type ist ein Bash-internes Kommando, das die gewünschte Information
liefert und auch Aliasnamen, Shellfunktionen und ähnliches
berücksichtigt. Aufgerufen mit der Option -a zeigt es sogar alle
Fundstellen an; die erste wird von der Bash benutzt.
Nicht angemeldet