Sie cd
können eine schlecht definierte Funktion oder ein Alias sein. Lauf type -a cd
um es herauszufinden.
Ein möglicher Alias wird in dieser anderen Antwort erläutert . Meine Antwort konzentriert sich auf Shell-Funktionen.
Zum Beispiel, wenn die Funktion verwendet wird
command cd $*
(command
Builtin erklärt hier ) odercommand cd $@
odercommand cd $1
anstatt richtig
command cd "$@"
odercommand cd "$1"
(nicht so gut wie oben, immer noch nicht tödlich)
Wenn Ihr Bash nicht geworfen hat too many arguments
(Version vor 4.4, siehe diese Frage ), würde das Verhalten genau so sein, wie Sie es beschrieben haben, da Application Support
ein einzelnes Argument für die Funktion eine Wortaufspaltung innerhalb der Funktion selbst durchlaufen würde, also command cd
das Application
erste Argument .
Ist Ihre cd
Funktion in der Tat eine schlecht definierte Funktion, sollten Sie den Ort, an dem sie definiert ist, nachverfolgen und beheben. Eine Ad-hoc- Lösung wäre, das command
Wort cd
wie folgt hinzuzufügen :
command cd "Application Support"
oder
command cd Application\ Support
(Dies funktioniert auch, wenn Alias der Täter ist).