Variablen-interpolation in der Schale
Dies ist wahrscheinlich eine sehr einfache Frage, aber für einige Grund, warum ich zu sein scheinen mit Blick auf das offensichtliche.
Habe ich eine variable namens filepath=/tmp/name
Zugriff auf die variable, die ich weiß, dass ich dies tun kann $filepath
In meinem shell-script habe ich versucht, so etwas zu tun (Die Zecken sind beabsichtigt)
`tail -1 $filepath_newstap.sh`
Diese Linie ausfällt, duuh! da die variable wird nicht genannt $filepath_newstap.sh
Wie kann ich anfügen _newstap.sh
zu den Namen der Variablen? Bitte beachten Sie, dass wieder Zecken sind gedacht für die Auswertung eines Ausdrucks
InformationsquelleAutor der Frage tawheed | 2013-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
oder
oder
_
ist ein gültiges Zeichen in Bezeichner. Punkt ist nicht, so die shell versucht zu interpolieren$filepath_newstap
.Können Sie
set -u
um die shell mit einer Fehlermeldung ab, wenn Sie auf eine nicht definierte variable.InformationsquelleAutor der Antwort choroba
Verwenden Sie geschweifte Klammern um den Variablennamen:
InformationsquelleAutor der Antwort Chrono Kitsune
In
bash
:tail -1 ${filepath}_newstap.sh
InformationsquelleAutor der Antwort vyom