Weisen Sie den Dateinamen eine variable in der shell

Ich versuche, ein Skript schreiben, das tut etwas ein wenig anspruchsvoller als das, was ich Ihnen gleich zeigen werde, aber ich weiß, dass das problem in diesem Teil.

Möchte ich jedem Namen eine Liste von Dateien in einem Verzeichnis auf einer Variablen zugewiesen werden (die gleiche variable, ein zu einer Zeit) durch eine for Schleife, dann tun Sie etwas innerhalb der Schleife mit diesem, zu sehen, was bedeutet:

for thing in $(ls $1);
do
    file $thing;
done

Edit: sagen wir, dieser scrypt heißt Scrypt und ich habe einen Ordner namens " Ordner, und es hat 3 Dateien drinnen mit den Namen A,B,C. ich will es mir zeigen, auf dem terminal, wenn ich dies Schreibe:

./scrypt Folder

folgende:

A: file
B: file
C: file

Mit dem code habe ich oben gezeigt, bekomme ich diese:

A: ERROR: cannot open `A' (No such file or directory)
B: ERROR: cannot open `B' (No such file or directory)
C: ERROR: cannot open `C' (No such file or directory)

dass ist das problem

Was ist falsch? Was Sie sollte nur gut funktionieren, genau so, wie es ist.
Ja, das einzige was hier falsch ist, brechen Sie auf Leerzeichen.
nun, es sagt tun Sie dies für jede Datei: ERROR: cannot open `file'(no such file or directory)

InformationsquelleAutor Zasito | 2012-11-22

Schreibe einen Kommentar