Esta es probablemente una pregunta muy básica, pero por alguna razón parece que estoy mirando lo obvio.
Tengo una variable llamada filepath=/tmp/name
Para acceder a la variable, sé que puedo hacer esto $filepath
En mi script de shell, intenté hacer algo como esto (Los ticks de la parte posterior están destinados)
`tail -1 $filepath_newstap.sh`
Esta línea falla, duuh! porque la variable no se llama $filepath_newstap.sh
¿Cómo _newstap.sh
al nombre de la variable? Tenga en cuenta que las marcas de retroceso están destinadas a la evaluación de la expresión
Utilizar
"$filepath"_newstap.sh
o
${filepath}_newstap.sh
o
$filepath\_newstap.sh
_
es un caracter válido en los identificadores. El punto no es, por lo que el intérprete intentó interpolar $filepath_newstap
.
Puede usar set -u
para hacer que el shell salga con un error cuando haga referencia a una variable indefinida.
Use llaves alrededor del nombre de la variable:
`tail -1 ${filepath}_newstap.sh`
En bash
: tail -1 ${filepath}_newstap.sh