2016-03-23 3 views

Répondre

0

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:".

+0

Maintenant je n'ai que le texte que je veux, mais comment assigner randomIP randomPORT randomUSERNAME randomPASSWORD aux variables? Merci! –

+0

Je l'ai à travailler avec IFS = »" set $ var echo 1 $ echo 2 $ echo 3 $ echo 4 –

+0

$ 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

0
<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"; ...

+0

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

+0

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. –