Bash variable de commande avec des tuyaux, des citations etc
J'ai une commande que j'utilise pour obtenir le nom d'hôte.localdomain
dig axfr @dc1.localdomain.com localdomain.com | grep -i Lawler | awk '{ getline ; $1=substr($1,1,length($1)-1); print $1 ; exit }'
Ce bien retourne un résultat comme:
michael.lawler.localdomain.com
J'aimerais plus d'utiliser ce résultat comme une variable dans un script bash.
Il semble que je vais avoir de la difficulté à obtenir passé la première pipe.
Si Je VAR="dig axfr @dc1.localdomain.com localdomain.com | grep -i Lawler | awk '{ getline ; $1=substr($1,1,length($1)-1); print $1 ; exit }'"
...je remonte l'ensemble de la zone de transfert. J'ai aussi essayé beaucoup de changements mineurs ajoutant $
avant la dig
de commande, sans les guillemets, rien ne semble fonctionner. N'importe quelle direction est très apprécié.
var=$(command)
Pour info: vous pouvez probablement demander
dig
pour vous donner moins d'informations, pour rendre la sortie plus facile à analyser. Voir, par exemple, la +short
option.awk '{ getline ; $1=substr($1,1,length($1)-1); print $1 ; exit }'
fait ce dont j'ai besoin, +short
ne fonctionne pas pour ma situation, je ne sais pas pourquoi..peut-être à cause de OSX. Merci pour la suggestion.Les deux réponses fournies fonctionner comme prévu. Toute réflexion sur ce qui est plus sensible à l'avenir de la complexité? J'aimerais accepter celle qui fournit le plus indulgent de la flexibilité. Merci
double possible de Comment exécuter une commande bash stockées sous forme de chaîne avec des citations et des astérisque
OriginalL'auteur TryTryAgain | 2013-03-06
Vous devez vous connecter pour publier un commentaire.
$()
est généralement préféré plus de backticks comme backticks ne font pas de nid. backticks sont légèrement plus portable, mais$()
notation a été la norme pendant environ 20 ans, et la plupart des shells l'accepter.OriginalL'auteur William Pursell
Utilisation backtics à la place des guillemets:
Backtics signifie réellement "exécuter tout ce qui est dans l'ici et de retour standard comme la valeur de l'expression", mais les citations de ne pas le faire.
OriginalL'auteur bchurchill