an die bash gurus

  • hallo an alle!

    Irgendwie bringe ich es nicht zusammen mit bash die filenamen in einem Verzeichnis aufzulisten ... kann mir jemand hier weiterhelfen?

    Was ich in diesem Testbeispiel machen möchte ist ein Verzeichnis als argument zu übergeben und dann die filenamen einzeln auszugeben. Die Filenamen werden dann später weiterprozessiert daher würde mir ls nicht viel bringen

    Code
    if cd "$1"; then
      for file in $1; do
    	if [ -f '$file' ]; then
    	  echo "file: " $file
    	fi
      done
    fi


  • Also bei mir funktioniert diese Lösung nicht...

    Code
    if cd "$1"; then
      for file in *; do
        if [ -f '$file' ]; then
          echo "file: " $file
        fi
      done
    fi


    Wenn man in das Verzeichnis wechselt (erste Zeile), braucht man das Verzeichnis nicht noch bei ls übergeben, da die Bash Wildcards ohnehin sofort erweitert, reicht ein simpes "*".
    So, ich hoffe, das stimmt, bei mir hat's funktioniert.

  • bei gehts jetzt ... danke

    Ich hab aber das problem, dass die Rekursion nicht funktioniert:


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!