This is my code:#!/bin/bashmachine_we_are_looking_for=$1user_defined_new_machine_location=$2condition_while_one=truecondition_while_two=trueecho test 1while $condition_while_onedo    first_awk_variables=`tail -n1 /mydriectory/myonlycsvfile.csv | awk -F, '{print $3, $4, $5, $7, $10 }'`    first_awk_variables_value_array=($first_awk_variables)          #turns contents of 'first_awk_variables' into an array 'first_awk_variables_value_array'  value_stat=${first_awk_variables_value_array[3]}  machine_location=${first_awk_variables_value_array[0]}  machine_ID=${first_awk_variables_value_array[1]}  machine_No=${first_awk_variables_value_array[2]}  machine_title=$machine_ID'-'$machine_No  echo $value_stat of $machine_title at $machine_location    if [ $value_stat == status ] && [ $machine_title == $machine_we_are_looking_for ]        then                 #change location of machine                `mosquitto_pub -t '/$user_defined_new_machine_location/cmd' -m '-changelocation'`              condition_while_one=false           fidone             With this I want to 'publish' to the MQTT stream. The publishing part works great but it takes the variable name $location literally, and doesn't substitute $location with the initialized value for like NYC,Paris or Tokyo.Q: How can I make it so that the assigned value/string gets substituted to $location when the code is executed
How to make backticks accept variables as variables?
bash