Ich bin verwirrt über ein Bash-Skript.Dynamische Variablennamen in Bash
Ich habe den folgenden Code:
function grep_search() {
magic_way_to_define_magic_variable_$1=`ls | tail -1`
echo $magic_variable_$1
}
Ich möchte einen Variablennamen zu erstellen, um der Lage sein, das erste Argument des Befehls enthält, und trägt den Wert von z.B. die letzte Zeile von ls
.
So veranschaulichen, was ich will:
$ ls | tail -1
stack-overflow.txt
$ grep_search() open_box
stack-overflow.txt
Also, wie soll ich definieren/erklären $magic_way_to_define_magic_variable_$1
und wie soll ich es im Skript aufrufen?
Ich habe versucht eval
, ${...}
, \$${...}
, aber ich bin immer noch verwirrt.
$ Nicht. Verwenden Sie ein assoziatives Array, um den Befehlsnamen den Daten zuzuordnen. – chepner