Bash-Skript - wie fülle ich ein array?
Lassen Sie uns sagen, dass ich diese Verzeichnis-Struktur:
DIRECTORY:
.........a
.........b
.........c
.........d
Was ich tun möchte: ich möchte speichern Sie Elemente von einem Verzeichnis in ein array
etwas wie : array = ls /home/user/DIRECTORY
so, dass array[0]
enthält den Namen der ersten Datei ('a')
array[1] == 'b'
etc.
Danke für die Hilfe
Dies kann hilfreich sein: tldp.org/LDP/abs/html/arrays.html. Verwenden Sie eine
Dies kann nützlich sein,; stackoverflow.com/questions/9954680/...
Tun Sie all diese Punkte in dem Verzeichnis nichts zu bedeuten?
Nein. Punkte werden nur, aus der 'untergeordneten'
for
- Schleife zum Durchlaufen der Rückgabewerte von ls
.Dies kann nützlich sein,; stackoverflow.com/questions/9954680/...
Tun Sie all diese Punkte in dem Verzeichnis nichts zu bedeuten?
Nein. Punkte werden nur, aus der 'untergeordneten'
InformationsquelleAutor user1926550 | 2013-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht einfach tun
array = ls /home/user/DIRECTORY
, da - auch mit der richtigen syntax - es würde nicht geben Sie ein array, sondern einen string, den Sie haben würde, zu analysieren, und Beim analysieren vonls
ist strafbar. Sie können jedoch, verwenden Sie die integrierte Bash-Konstrukte zu erreichen, was Sie wollen :Dieses kleine script speichert die Namen aller regulären Dateien (was bedeutet, keine Verzeichnisse, links, sockets und Z) kann gefunden werden in
$YOUR_DIR
auf das array aufgerufenarray
.Hoffe, das hilft.
Ändern Sie einfach die
if
in der Schleife nach Ihren Bedürfnissen, dann.Parsen ls wird strafbar = +1
InformationsquelleAutor Daniel Kamil Kozar
Option 1, einen manuellen loop:
Option 2, unter Verwendung von bash-array-Tricks:
InformationsquelleAutor Gordon Davisson