Batch Auflisten d. Ordnerinhalts

MR34L

Cadet 4th Year
Registriert
Apr. 2008
Beiträge
107
Hallo Leute.

Mein Problem ist folgendes, Ich wollte mir ein BASH-Skript (kein Batch, Bash gabs aber als Präfix nicht zur Auswahl...) schreiben, welches alle Daten in einem Ordner auflistet, in eine Datei schreibt und diese Datei auch öffnet.

Im Terminal klappt alles auch wunderbar mit:
Code:
# ./listFiles.sh
# lists all files with details and writes them to files.txt
ls -efl >> files.txt

# opens file.txt in standard text editor
open files.txt

Sobald ich das Ganze aber unter listFiles.command abspeichere um es per Doppelklick starten zu können, gibt er mir die Files des übergeordneten Verzeichnisses aus, daher hab ich das ganze dann in die Richtung modifiziert:
Code:
# lists all files with details and writes them to files.txt
$currentPath = ´pwd´
$list = ${currentPath}_{"/files.txt"}
ls -efl > $list

# opens file.txt in standard text editor
open $list

Und jetzt funktioniert halt nichts mehr und dem Terminal nach liegt der Fehler in den ersten 3 Codezeilen.

Ich bin nicht sehr erfahren was bash angeht, kann also gut sein, dass ich irgendetwas Grundlegendes falsch gemacht habe, aber ich komm so halt nicht mehr weiter.

Also Danke schon mal für die Hilfe ;-)
 
Zuletzt bearbeitet:
MR34L schrieb:
Sobald ich das Ganze aber unter listFiles.command abspeichere um es per Doppelklick starten zu können, gibt er mir die Files des übergeordneten Verzeichnisses aus, daher hab ich das ganze dann in die Richtung modifiziert:

Dann ist natürlich die Frage, wo du das Skript ausführst, denn auch dort wird mit dem ls-Befehle die Dateiübersicht erzeugt.
 
Code:
# lists all files with details and writes them to files.txt
currentPath=$(pwd)
fileName="files.txt"
list=${currentPath}"/"$fileName
ls -efl > $list

# opens file.txt in standard text editor
open $list

# adds timestamp
date=`date "+%H:%M:%S %d/%m/%Y"`
timeStamp="was created on $date"
echo -e "\n$list $timeStamp." >> $list
echo -e "It contains all files in $currentPath." >> $list

So hab mich jetzt bissl schlau gemacht und den Code verändert.
Den Code führ ich beide Male auf dem Desktop aus.

Als .sh Datei geht alles wunderbar, doch also .command gibt er mir immernoch das übergeordnete Verzeichnis aus.

Sieht man auch schön am Inhalt von currentPath

Und danke schon mal bis hier her :)
 
Zurück
Oben