Wie das n-te Positionsargument in bash zu bekommen?
-
19-09-2019 - |
Frage
Wie das n
th Positions Argument in Bash bekommen, wo n
Variable ist?
Lösung
Mit Bash indirection Funktion:
#!/bin/bash
n=3
echo ${!n}
Ausführen dieser Datei:
$ ./ind apple banana cantaloupe dates
Erzeugt:
cantaloupe
Edit:
Sie können auch Array Slicing tun:
echo ${@:$n:1}
aber nicht Array-Indizes:
echo ${@[n]} # WON'T WORK
Andere Tipps
Wenn N
in einer Variablen gespeichert wird, verwenden Sie
eval echo \${$N}
, wenn es eine Konstante Verwendung
echo ${12}
da
echo $12
bedeutet nicht das gleiche!
$1 $2 ... $n
$0
enthält den Namen des Skripts.
Wie Sie in dem Bash von Beispiel sehen können , müssen Sie nur die automatischen Variablen 1, 2, $ und so $ verwenden.
$ # verwendet wird, um die Anzahl von Argumenten zu erhalten.
Lesen
und
$ 0: Der erste Positionsparameter
$ 1 ... $ 9: die Argumentlistenelemente von 1 bis 9
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow