I have a variable called filepath=/tmp/name.

To access the variable, I know that I can do this: $filepath

In my shell script I attempted to do something like this (the backticks are intended)

`tail -1 $filepath_newstap.sh` 

This line fails, duuh!, because the variable is not called $filepath_newstap.sh

How do I append _newstap.sh to the variable name?

Please note that backticks are intended for the expression evaluation.

3 Answers

Use

"$filepath"_newstap.sh 

or

${filepath}_newstap.sh 

or

$filepath\_newstap.sh 

_ is a valid character in identifiers. Dot is not, so the shell tried to interpolate $filepath_newstap.

You can use set -u to make the shell exit with an error when you reference an undefined variable.

5

Use curly braces around the variable name:

`tail -1 ${filepath}_newstap.sh` 
7

In Bash:

tail -1 ${filepath}_newstap.sh 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy