öffnen Tags

schliessen Kategorien

Vom WebReader vorlesen lassen

maximum nested function level reached

27. Feb 2010, 16:39

Seit einigen Wochen arbeite ich jetzt auf der Zsh. Gestern hab ich dann mal wieder ein bisschen an meiner .zshrc gebastelt und heute konnte ich dann auf einmal keine Ordner mehr anlegen.

Die Shell brach das ganze mit folgendem Fehler ab:

1
2
me@abakus /tmp % mkdir zumpel
mkdir:2: maximum nested function level reached

Natürlich erst einmal gecheckt wer der Verursacher ist. Bash hatte mit mkdir kein Problem, damit war klar das es nicht an mkdir selbst liegt, sondern an der Zsh.

Gleich dran gedacht, dass ich ja gestern die rc geändert hab, und da die nicht so riesig ist war der Fehler schnell gefunden. In der Datei hatte ich folgende Funktion implementiert:

1
2
3
4
md ()
{
mkdir $1 && cd $1
}

Wenn diese auskommentiert ist gibt es keine Probleme. Aber wo ist da der Fehler!? Und was hat das ganze mit dem eigentlichen mkdir zu tun??

Ok, damit ihr nicht zu viel grübelt, hier die Auflösung. Ich habe in /etc/zsh/ die zshrc von GRML liegen (hier zu bekommen). In dieser wurde ein Alias namens md gesetzt:

1
alias md='mkdir -p'

Heißt also md wird mit mkdir ersetzt. So auch in meiner rc! Wenn ich jetzt nachgucke was mkdir ist, komm ich zu folgenden Ergebnis:

1
2
3
4
5
6
me@abakus /tmp % type mkdir
mkdir is a shell function
me@abakus /tmp % which mkdir
mkdir () {
mkdir $1 && cd $1
}

Damit hab ich ungewollt eine Endlosschleife produziert :P

Jetzt macht auch die Fehlermeldung Sinn.. Um das zu umgehen steht bei mir vor der Funktion jetzt

1
unalias md

Viel Spass beim nachproggen!

Tags: Dateien Linux Media Software ZSH

Kategorien: Media Software

© 2009-2017 by Martin Scharm