Wenn ich den typeBefehl verwende, um herauszufinden, ob cateine Shell oder ein externes Programm eingebaut ist, erhalte ich die folgende Ausgabe:
-$ type cat
cat is hashed (/bin/cat)
-$
Bedeutet das, dass cates sich um ein externes Programm handelt /bin/cat?
Ich war verwirrt, denn als ich die Ausgabe unten überprüfte, stellte echoich fest, dass es sich um ein built-inaber auch ein Programm handelt/bin/echo
-$ type echo
echo is a shell builtin
-$ which echo
/bin/echo
-$
Also konnte ich die Logik nicht nutzen, die /bin/catzwangsläufig ein externes Programm bedeutet, da Echo /bin/echodoch noch eingebaut war.
Woher weiß ich, was catist? Eingebaut oder extern?
type whichIch könnte dir die Antwort geben, warum whichich dir die Antwort nicht geben werde.
catund lssind / wurden von Stallman selbst geschrieben. Sie wären überrascht, wie viel er geschrieben hat. Vergessen Sie nicht, dass er die ersten Versionen des Compilers geschrieben hat, der heute der beste Compiler der Welt ist, der ALLES und die meisten Kern-Utils kompiliert. Sagen Sie es einfach