#1 Le 07/01/2008, à 16:02
- wbreen
Creer un petit script, pas facile !!
Bonjour,
Je suis en train de faire un script pour un pote, mais c'est la première fois que j'essaie lol
Mon script ne veut pas lancer la commande ci-dessous :
http_proxy='http://monlogin:mon_mot_de_pass2@10.x.x.x:8080'
car pour lui ce n'est pas une commande.
Comment lui dire de lancer cette ligne en brute dans une console.
Car si je mets cette ligne dans une console, ca marche bien !!
voici mon script :
#!/bin/sh
echo "Bonjour XXX"
echo "Veux tu telecharger via le Proxy ?"
echo "Il te faudras installer les paquets par la commande (sudo apt-get install)"
echo -n "Tape (Y) pour OUI et (N) pour (NON) : "
read ouinon
if [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ]; then
{
echo "*** Lancement de la commande Magique ***"
http_proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
}
elif [ "$ouinon" = "n" ] || [ "$ouinon" = "N" ]; then
{
echo "Ok, bye! "
}
else
{
echo "Il faut taper Y ou N!! Pas $ouinon"
}
fi
Ne connaissant pas du tout la programmation, je suis très vite perdu !!
Merci de votre aide !!
Portable Asus G74SX-TZ105V -- 17,3", Intel® Core™ i7, 2630QM, 2 GHz, 8192 Mo, NVIDIA® GeForce™ GTX 560M, 1000 Go, Linux Ubuntu 15.10
Hors ligne
#2 Le 07/01/2008, à 16:53
- JérémieR
Re : Creer un petit script, pas facile !!
Question sécurité c'est pas terrible, j'avais essayé il y a quelque mois et je n'étais arrivé à rien.
Hors ligne
#3 Le 07/01/2008, à 16:58
- mekare
Re : Creer un petit script, pas facile !!
Je pense qu'il faut mettre ça :
http_proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
export http_proxy
Hors ligne
#4 Le 07/01/2008, à 17:12
- wbreen
Re : Creer un petit script, pas facile !!
le problème est qu'il ne connait pas la commande http_proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
si je met firefox a la place ca marche ....
lui il veut une commande en 1er sinon l ne comprend pas !!
export es tune commande mais il ne comprends pas le reste
Jusqu'à export ca c bon !!
mais export http_proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
c'est le (http_proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080') qu'il ne comprend pas !!
Portable Asus G74SX-TZ105V -- 17,3", Intel® Core™ i7, 2630QM, 2 GHz, 8192 Mo, NVIDIA® GeForce™ GTX 560M, 1000 Go, Linux Ubuntu 15.10
Hors ligne
#5 Le 07/01/2008, à 17:28
- mekare
Re : Creer un petit script, pas facile !!
et ça ?
declare -x http_proxy="http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080"
Hors ligne
#6 Le 07/01/2008, à 17:30
- desmogone
Re : Creer un petit script, pas facile !!
Salut !
Si c'est bien une variable que tu veux utiliser, normalement ça donne :
http_proxy=http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080
export http_proxy
Par contre, j'ai peur que les caractères spéciaux foutent la grouille (/ et @ par exemple).
Et je ne me rappelle pas du caractère "d'échappement". J'aurais tendance à dire \ mais je ne suis pas sûr ...
Desmogone, qui devrait réviser son shell
Phenom II X4 940 - RAM 4Go - 9600GT - HDD Sata 500Go - ubuntu 14.04 LTS 64 bits
Portable LDLC 13" - Pentium 2020M - RAM 4G - SSD Sata 120Go - xubuntu 15.04 64 bits
MSI Wind Atom N270 - RAM 2Go - i945 - SSD Sata 80Go - ubuntu 14.04 LTS 64 bits
Hors ligne
#7 Le 07/01/2008, à 18:34
- Yannick_LM
Re : Creer un petit script, pas facile !!
proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
export http_proxy=$proxy
Syntaxe de bash :
variable=valeur (sans espace)
Mais après, pour utiliser, c'est avec un $devant
EDIT : je viens de regarder, ça ne marche pas parce que la variable http_proxy n'est valable qu'à l'intérieur du script.
La solution, c'est d'utiliser la commande source, qui va justement permettre d'exporter la variable jusqu'à écraser celle du shell :
Donc :
#!/bin/sh
echo "Bonjour XXX"
echo "Veux tu telecharger via le Proxy ?"
echo "Il te faudras installer les paquets par la commande (sudo apt-get install)"
echo -n "Tape (Y) pour OUI et (N) pour (NON) : "
read ouinon
if [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ]; then
{
echo "*** Lancement de la commande Magique ***"
proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
export http_proxy=$proxy
}
elif [ "$ouinon" = "n" ] || [ "$ouinon" = "N" ]; then
{
echo "Ok, bye! "
}
else
{
echo "Il faut taper Y ou N!! Pas $ouinon"
}
fi
A lancer avec source test.sh
(attention, ne sera valable que dans la console en cours)
Pour que cela soit valable dans tous les terminaux, il suffit de rajouter cette ligne à la fin du .bashrc de ton ami :
http_proxy='http://tonlogin:ton_mot_de_pass2@10.x.x.x:8080'
(le script .bashrc étant lancé à chaque ouverture du terminal)
Sinon, tu peux utiliser Systèmes/préférence/proxy réseau
HS : pour copier du code, il faut utiliser la syntaxe suivante :
[code] bla bla [/code]
http://forums.phpbb-fr.com/faq.php?mode=bbcode
Dernière modification par Yannick_LM (Le 07/01/2008, à 19:33)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#8 Le 07/01/2008, à 20:15
- Alain.g
Re : Creer un petit script, pas facile !!
Salut
Petite remarque : il n'y a pas à mettre les accolades {} dans la structure du IF. On les utilise pour un autre usage, mais pas dans ce cas.
Sinon, plutà´t que [ "$ouinon" = "y" ] || [ "$ouinon" = "Y" ] ...
il peut être intéressant d'utiliser case :
echo -n "Voulez-vous continuer ? [Y/n] : "
read ouinon
case $ouinon in
y|Y|o|O)
echo "vous avez répondu oui"
;;
n|N)
echo "vous avez répondu non "
;;
*)
echo "Il faut taper Y ou N !! Pas $ouinon"
;;
esac
Xubuntu Karmic !
Hors ligne