Pushd: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „Builtin“ durch „Built-in“
Markierung: Zurückgesetzt
K Textersetzung - „Bash/Built-in“ durch „Bash/Builtins“
Markierung: Zurückgesetzt
Zeile 19: Zeile 19:
  echo Anzahl: $number
  echo Anzahl: $number


[[Kategorie:Bash/Built-in]]
[[Kategorie:Bash/Builtins]]

Version vom 21. September 2024, 22:31 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