Pushd: Unterschied zwischen den Versionen
K Textersetzung - „Bash/Built-in“ durch „Bash/Builtins“ Markierung: Zurückgesetzt |
K Textersetzung - „Bash/Builtins“ durch „Bash/Builtin“ Markierung: Manuelle Zurücksetzung |
||
Zeile 19: | Zeile 19: | ||
echo Anzahl: $number | echo Anzahl: $number | ||
[[Kategorie:Bash/ | [[Kategorie:Bash/Builtin]] |
Aktuelle Version vom 21. September 2024, 22:42 Uhr
pushd
Mit dem Kommando kann in ein angegebenes Verzeichnis gewechselt werden, wobei das Verzeichnis auf einem Stack abgelegt wird.
Mit »-n« wird der Verzeichniswechsel verhindert, der Name des Verzeichnisses aber dennoch gespeichert. Dieser Stack kann rotiert werden, mit »-Anzahl« wird vom Ende des Stacks aus rotiert; mit »+Anzahl« vom Anfang.
Das nachfolgende Beispiel zählt alle Unterverzeichnisse ausgehend vom Startverzeichnis, wobei popd und pushd Verwendung finden:
'$ cat countdir' #!/bin/sh while :; do for i in $(ls); do test -d $i || continue pushd -n $(pwd)/$i &>/dev/null number=$(($number+1)) done popd &>/dev/null && continue break done echo Anzahl: $number