C'est probablement une question très fondamentale, mais pour une raison quelconque, il me semble que je ne fais pas trop attention à l'évidence.
J'ai une variable appelée filepath=/tmp/name
Pour accéder à la variable, je sais que je peux le faire $filepath
Dans mon script Shell, j'ai essayé de faire quelque chose comme ceci (les tics à l'arrière sont destinés)
`tail -1 $filepath_newstap.sh`
Cette ligne échoue, duuh! parce que la variable ne s'appelle pas $filepath_newstap.sh
Comment puis-je ajouter _newstap.sh
au nom de la variable? Veuillez noter que les ticks arrière sont destinés à l'évaluation de l'expression
Utilisation
"$filepath"_newstap.sh
ou
${filepath}_newstap.sh
ou
$filepath\_newstap.sh
_
est un caractère valide dans les identificateurs. Le point n'est pas, donc le shell a essayé d'interpoler $filepath_newstap
.
Vous pouvez utiliser set -u
pour que le shell se termine avec une erreur lorsque vous référencez une variable non définie.
Utilisez des accolades autour du nom de la variable:
`tail -1 ${filepath}_newstap.sh`
Dans bash
: tail -1 ${filepath}_newstap.sh