Comment stocker le résultat du vidage w3m dans une variable dans un script bash? Le résultat obtenu par w3m dump est
C: randomIP randomPORT randomUSERNAME randomPASSWORD
Je veux couper "C:" et stocker tout le reste dans des variables afin que je puisse l'ajouter dans un fichier.Script Bash: Enregistrer le vidage w3m dans la variable
Répondre
Vous pouvez stocker toute sortie de commande bash de cette manière: -
var=$(command) # replace command by w3m dump command
#Later you can replace first occurring of C: by sed
var=$(echo $var | sed s/^C://)
maintenant la variable var
consistera en décharge sans "C:".
<your command> | read useless var1 var2 var3 var4
Comme expliqué dans man read, read
sera (surprise!) Lire une ligne sur l'entrée standard (d'où le tuyau) et affecter les variables donné un par un en utilisant l'IFS (par défaut le caractère d'espace) comme délimiteur dans l'entrée. Dans votre exemple, useless
sera affecté à "C:"; var1
à "randomIP"; ...
Bien que cet extrait de code puisse résoudre la question, [y compris une explication] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) aide vraiment à améliorer la qualité de votre message. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. - [De la revue] (https://stackoverflow.com/review/low-quality-posts/11741816) – Ferrybig
Tout à fait vrai. D'ailleurs, je me rends compte que ma chaîne ici était inutile ici, une pipe suffira. J'ai ajouté quelques explications mais ma solution est simple maintenant. Merci. –
Maintenant je n'ai que le texte que je veux, mais comment assigner randomIP randomPORT randomUSERNAME randomPASSWORD aux variables? Merci! –
Je l'ai à travailler avec IFS = »" set $ var echo 1 $ echo 2 $ echo 3 $ echo 4 –
$ ouais vous pouvez commande 'cut' pour séparer une ligne. Vous pouvez utiliser quelque chose comme ceci: - 'echo 'randomIP randomPORT randomUSERNAME randomPASSWORD' | coupe -d '' f1' pour obtenir 'randomIP'. De même 'f2' pour le 2ème argument et ainsi de suite. – Devavrata