Pour stocker la sortie d'une commande dans une variable, utilisez :
variable=$( commandFooBar )
Vérifiez ICI
Vous confondez deux opérateurs shell différents.
Le >
redirect, redirigera la sortie vers un fichier. Donc, pour que votre exemple fonctionne, vous pouvez utiliser :
awk 'NR == 2 {print $3}' a.txt > price
cat price # display contents of file named price
Le $
fait référence à une variable, donc pour obtenir votre echo
pour imprimer la variable, vous devez d'abord la définir à partir de la sortie de la précédente. Comme ceci :
price=$(awk 'NR == 2 {print $3}' a.txt)
echo "$price"