setting a variable output from a bash command

0 votes

This is a script that I'm using:

#!/bin/bash

VAR1="$1"    
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'

echo $MOREF

When I execute it and pass the required arguments, there is no output coming out. But if I execute it within the $MOREF variable, I do get the output. I just want to get the results of the command, save it to a variable and then print it out on the screen.

Feb 15, 2019 in Linux Administration by Damon Salvatore
• 5,980 points
3,121 views

1 answer to this question.

0 votes

You can use $(command), which in my opinion is easier to read than using backticks, and also allow nesting.

OUTPUT="$(ls -1)"
echo "${OUTPUT}"

MULTILINE=$(ls \
   -1)
echo "${MULTILINE}"

Quoting (") does matter to preserve multi-line values.

answered Feb 15, 2019 by DareDev
• 6,890 points