Détails
Comment définir une variable à la sortie d'une commande en Bash ?
J'ai un script assez simple qui ressemble à ce qui suit :
#!/bin/bash
VAR1="$1"
MOREF='sudo run command against $VAR1 | grep name | cut -c7-'
echo $MOREF
Lorsque je lance ce script à partir de la ligne de commande et que je lui passe les arguments, je n'obtiens aucune sortie. Cependant, lorsque j'exécute les commandes contenues dans la variable $MOREF
, j'obtiens une sortie.
Comment peut-on prendre les résultats d'une commande qui doit être exécutée dans un script, les enregistrer dans une variable, puis afficher cette variable à l'écran ?
1497
3
En plus des backticks
vous pouvez utilisercommand
$(command)
ou"$(command)"
que je trouve plus facile à lire, et qui permettent l'imbrication.La citation (
"
) est importante pour préserver les valeurs multi-lignes.Le bon chemin est
Si vous devez utiliser une apostrophe, vous devez utiliser
``, et non `'
. Ce caractère est appelé "backticks" (ou "grave accent").Comme ceci :
Juste pour être différent :