Ich habe 'man echo' in Bash ausprobiert und es wurde mir mitgeteilt, dass 'echo --help' beim Beenden die Hilfe anzeigt und dass 'echo --version' die Version ausgibt und beendet. Aber warum funktioniert es nicht? 'echo --help' druckt '--help' einfach im wahrsten Sinne des Wortes.
20
echo --help
einen Fehler darstellt . Stellen Sie sich vor, was passiert, wenn Sie Folgendes tun:printf "The option you entered is: " ; echo "$opt"
und die Shell-Variable enthältopt
zufällig den Text--help
. Laut POSIX-Standardecho
darf sich das nicht so verhalten, aber das GNU-Echo ist widerlich nicht konform.echo -e
undecho -n
ist das auch ein Bug, nach deiner Logik?Antworten:
man echo
bezieht sich auf dasecho
Programm . GNUecho
unterstützt eine--help
Option, ebenso wie einige andere. Wenn Sieecho
in Bash laufen, erhalten Sie stattdessen dessen eingebauten,echo
was nicht der Fall ist.Um auf das
echo
Programm anstatt auf das eingebaute Programm zuzugreifen, können Sie entweder einen Pfad angeben:Oder verwenden Sie den
enable
Befehl von Bash , um die eingebaute Version zu deaktivieren:Bash verfügt über integrierte Versionen vieler grundlegender Befehle, da dies etwas schneller geht. Sie können sie jedoch jederzeit auf diese Weise umgehen, wenn Sie dies benötigen.
quelle
zsh
.enable
funktioniert aber.echo
Insbesondere GNU hat viele Erweiterungen über POSIX und Bashsecho
nur wenige. Es gibt nicht wirklich einen allgemeinen Namen, den ich mir für Befehle vorstellen kann, die von eingebauten Funktionen beschattet werden könnten. Es gibt nicht so viele , dass man einen braucht würde:echo
,test
,[
, undpwd
sind diejenigen , die Sie wahrscheinlich Begegnung sind.command
ruft Buildins immer explizit auf. Ich weiß nicht, was ich gedacht habe,zsh
ansonsten funktioniert es andersherum.Zusätzlich zu anderen Antworten können Sie verwenden
Siehe auch eine kurze Hilfe zum eingebauten
echo
Befehl.quelle
Sie verwenden den
echo
eingebauten Befehl von bash, der die--help
Option nicht versteht . Verwenden:echo
Verwenden Sieman bash
und suchen Sie nach , um die Hilfe für die integrierte Funktion anzuzeigenecho
.quelle