J’essaye de récupérer une URL envoyée par une page html depuis un script bash, le problème est que l’URL retournée par le script est coupée au premier = .
Le résultat de la page HTML (test.html) est le suivant :
le code du script bash est le suivant :
GET=$(w3m -dump htp://192.168.1.18/test.html)
_NAME=${GET}
_URL=${GET}
# Affectation de la valeur NAME
_NAME="${_NAME#*NAME=}"
_NAME_="$(echo "${_NAME}" | head -n 1)"
# Affectation de la valeur URL
_URL="${_URL#*URL=}"
_URL="$(echo "${_URL}" | head -n 1)"
Le résultat du script sera
au lieu de :
Je pense que le problème vient du = comme séparateur !
Comment faire pour récupérer l’URL entière ?
Comme j’ai déjà plusieurs scripts qui récupèrent le webservice, je ne peux pas traiter le retour comme un fichier, cela ne serait plus cohérent avec le reste du dev
Je n’utilise pas [mono]w3m[/mono], mais peut-être qu’en remplaçant [mono]w3m -dump[/mono] par [mono]wget -0-[/mono]
Bien sûr, ç’est pas avec l’application que tu utilise, mais avec [mono]wget[/mono], pas de problèmes de [mono]cols[/mono]
NOTE: Un jour, fait toi plaisir: essaie le mode [mono]debug[/mono] des scripts [mono]bash[/mono].
[quote=“man w3m”]w3m - a text based Web browser and pager[/quote] Et qui dit “browser and pager” dit interpréteur, d’où le problème que tu as rencontré.
======= EDIT: Une solution pour que [mono]w3m[/mono] n’interprète ou ne modifie pas la page reçue:[quote=“man w3m”]…
-dump_source
dump page source into stdout
…[/quote]
donc:
_NAME="${_NAME#*NAME=}“ NAME=”$(echo “${_NAME}” | head -n 1)"
Affectation de la valeur URL
_URL="${_URL#*URL=}"
_URL="$(echo “${_URL}” | head -n 1)"[/code]
Finalement : Même pas besoin de [mono]wget[/mono].
[hors sujet]
Adaptation personnelle pour dire comment j’aime Linux et ses applications: [mono]… ♬♪ You can get anything you want in linux applications ♩♫♪…[/mono]
Sur l’air de [mono]Alice’s restaurant[/mono] (Arlo Guthrie’s)
[/hors sujet]