Heyhey, da dies mein erster Beitrag ist bitte geduldig :) Ich versuche mein Bestes.BASH Grep Ergebnis als Array-Name
Ich versuche, die Sprache aus meinem System (osx) "grep" und nehmen Sie dies als String-Namen, um eine Sprache festzulegen.
Ich habe ein paar Strings bekam $en['a' 'b' 'c']
genannt, irgendwo $de['d' 'e' 'f']
und $fr['g' 'h' 'i']
...
Ich benutze:
language=$(locale | grep LANG= | cut -d'"' -f2 | cut -d_ -f1)
, die mir einen ISO-Wert wie en gibt, fr, de ...
Hier kommt mein Hauptproblem. Ich kann einfach nicht einfach ${language[*]}
verwenden. Es fühlt sich an, als ob ich alles versucht habe. Versuchen Sie bereits einen Fehler mit {}
()
''
und $
.
Das Einzige, was fand ich heraus, beim Debuggen language
Ergebnisse in
language=ISO
ist (so das funktioniert richtig)
und wenn ich versuche, diesen Wert als meine gewünschte Zeichenfolge
echo ${language[*]} , ${language[0]} , ${language[1]}
Ergebnisse zu erhalten in
ISO , ISO ,
was nicht ist richtig. Es scheint, als würde ich eine neue Zeichenfolge erstellen, aber ich möchte die vorhandenen verwenden. keine weitere Keywords Wisst :(Syntax
Was genau ist die Eingabe? Welche Leistung erwarten Sie? – choroba
Ich habe gerade ein paar Eingaben eingegeben. Ich erwarte, dass die Ausgabe von $ {en [@]} und $ {language [@]} gleich ist. – cr4nk89