Ich habe dieses Skript -
%Vor% Jetzt enthält die Variable $names
Zeichenfolgen, die durch Zeilenumbrüche begrenzt sind -
Ich habe versucht, die Array-Konvertierung mit dem Sub-String-Ansatz durchzuführen -
%Vor% Aber das Problem ist, dass ich nicht auf sie zugreifen kann durch Indizierung (d. h. ${names[$i]
etc), wenn ich diese Schleife ausführen -
Ich bekomme diese Ausgabe -
%Vor%aber was ich will ist -
%Vor%Ich konnte keinen guten Weg finden, dies zu tun. Bitte beachten Sie, dass die zweite Zeichenfolge Leerzeichen enthält.
Irgendeine Idee?
Setze IFS
. Shell verwendet die Variable IFS
, um zu bestimmen, was die Feldtrennzeichen sind. Standardmäßig ist IFS
auf das Leerzeichen gesetzt. Ändern Sie es in Newline.
Ausgabe
%Vor% Lassen Sie mich zu Sanket Parmars Antwort beitragen . Wenn Sie die String-Aufteilung und Verarbeitung in eine separate Funktion extrahieren können, müssen Sie $IFS
nicht speichern und wiederherstellen - stattdessen local
verwenden:
Siehe auch: