J'ai donc un script qui, lorsque je lui donne deux adresses, va rechercher deux liens HTML:
echo "http://maps.google.be/maps?saddr\=$1\&daddr\=$2" | sed 's/ /%/g'
Je veux envoyer ceci à wget
, puis enregistrer la sortie dans un fichier appelé temp.html
. J'ai essayé ça, mais ça ne marche pas. Quelqu'un peut-il expliquer pourquoi et / ou me donner une solution s'il vous plaît?
#!/bin/bash
url = echo "http://maps.google.be/maps?saddr\=$1\&daddr\=$2" | sed 's/ /%/g'
wget $url
bash
shell
command-line
LotoLo
la source
la source
Réponses:
Vous pouvez utiliser backticks (`) pour évaluer une commande et la remplacer dans la sortie de la commande, comme suit:
Dans ton cas:
la source
$(...)
est préféré aux backticks .Vous pouvez utiliser "xargs". Un exemple trivial:
Veillez à ce que xargs ne divise pas son stdin en deux ou plusieurs invocations du comman ("cat" dans l'exemple ci-dessus).
la source
vous n'exécutez pas réellement votre ligne d'URL:
la source
Il semble que vous pourriez utiliser une combinaison des réponses ici. Je suppose que vous voulez remplacer les caractères d'espace par leurs valeurs ascii échappées dans l'URL. Pour ce faire, vous devez les remplacer par "% 20", pas seulement "%". Voici une solution qui devrait vous donner une réponse complète:
Les backticks indiquent que la commande incluse doit être interprétée en premier et que le résultat est envoyé à wget. Notez que j'ai échappé à l'espace et à% caractères de la commande sed pour éviter toute erreur d'interprétation. L'option -q pour wget empêche le traitement de la sortie de la commande en cours d'impression à l'écran (pratique pour les scripts lorsque l'état du travail est indifférent) et l'option -O spécifie le fichier de sortie. Pour votre information, si vous ne souhaitez pas enregistrer la sortie dans un fichier, mais la visualiser dans le terminal, utilisez "-" au lieu d'un nom de fichier pour indiquer stdout.
la source
wget accepte également stdin avec le
-
commutateur.Si vous souhaitez enregistrer la sortie dans un fichier, utilisez le
-O
commutateur.la source