Réglage de wget --en-tête= en bash ne fonctionne pas
J'ai essayer de définir l'en-tête de wget. Quand je lance la commande suivante dans le terminal il fonctionne wget -d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"' http://website.com -O index
mais une fois j'ai mis la même chose dans des variables et essayez d'exécuter un script bash ça ne fonctionne pas.
ce que j'ai essayé
header='-d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"'
wget "$header" http://google.com -O index
erreur
wget: invalid option -- ' '
wget: invalid option -- '-'
wget: invalid option -- '-'
Usage: wget [OPTION]... [URL]...
Essayez d'échanger votre utilisation des apostrophes et des guillemets autour de la définition de la variable. Les guillemets doubles peuvent être interprétés, les apostrophes sont exactes:
header='--header="..."'
OriginalL'auteur rabotalius | 2013-08-05
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser des guillemets lors de l'utilisation de la variable. Sinon, il sera étendu à plusieurs mots. D'autre part, il n'est pas besoin de citer la valeur de la variable à deux reprises. La suivante devrait fonctionner:
Edit: Si vous souhaitez utiliser des variables pour plusieurs arguments, l'utilisation des tableaux:
OriginalL'auteur nosid
COMMENTAIRE: "nosid de truc a propos de la fête de la matrice de a fonctionné pour moi. Dans mon cas, le code correspondant est:
OriginalL'auteur WxWizard
Ce que vous ne devez faire est de s'échapper
-d
comme ceci:header='\-d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"'
OriginalL'auteur Michael Meepo
Au lieu de cela
essayer cela,
Les espaces dans le texte d'en-tête se brise lorsque vous êtes en l'affectant l'en-tête variable.
Pour faire disparaître le problème, vous devez entourer d'une variable avec des guillemets "".
Après les commentaires:
Essayez cette -
Le nom d'en-tête semble en conflit avec votre --en-tête. Ou, peut-être les guillemets, au lieu de les copier de les saisir et de réessayer. Encore, Bizarre!
ce n'echo "$header" émettent en sortie? Ajoutez-le à votre script avant wget de commandement et de contrôle.
./test.sh -d --header="User-Agent:\ Mozilla/5.0\ (Windows NT 6.0)\ AppleWebKit/537.11\ (KHTML, like Gecko)\ Chrome/23.0.1271.97\ Safari/537.11" wget: invalid option -- ' ' wget: invalid option -- '-' wget: invalid option -- '-' Usage: wget [OPTION]... [URL]... Try
wget --help " pour plus d'options.`Pas de commentaire la commande wget comme #wget ... et s'il vous plaît fournir le résultat de la seule echo "$ - tête de la commande".
-d --header="User-Agent: Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"
OriginalL'auteur SSaikia_JtheRocker