#26 Le 26/01/2010, à 14:19
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
ben dans un cas tu lancerais ta commande comme cela :
le_script ppa:depot_ppa_1 ppa:depot_ppa_2 ppa:depot_ppa3
et dans l'autre cas :
le_script depot_ppa_1 depot_ppa_2 depot_ppa3
bon après je vois ce script comme un exercice, il n'a pas un grand intérêt sinon
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#27 Le 26/01/2010, à 16:27
- Qid
Re : simplifier encore plus l'ajout de dépot grace a un script !
bon après je vois ce script comme un exercice, il n'a pas un grand intérêt sinon
il me semble aussi oui :
editer le source.list à la main n'est pas si compliqué
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#28 Le 26/01/2010, à 21:12
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
@Peuks
Je ne sais pas si tu connais ça : http://abs.traduc.org/abs-fr/Ça devrait t'occuper pour la soirée et t'ouvrir toutes sortes d'horizons nouveaux...
Je ne sais pas si c'est de l'ironie mais merci. Pour l'instant je flanne un peu sur sdz a essayer de comprendre petit à petit
Hors ligne
#29 Le 26/01/2010, à 21:22
- Qid
Re : simplifier encore plus l'ajout de dépot grace a un script !
faustus a écrit :@Peuks
Je ne sais pas si tu connais ça : http://abs.traduc.org/abs-fr/Ça devrait t'occuper pour la soirée et t'ouvrir toutes sortes d'horizons nouveaux...
Je ne sais pas si c'est de l'ironie mais merci.
personnellement je l'aurais mal pris en tous cas :
c'est le genre de truc que je trouve vachement imbuvable
(eh oui j'aime pas la lecture)
mais bon ne meme temp si tu veux vraiment apprendre/t'exercer
en jouant à faire des scripts plus ou moins inutiles (voir mon précédent post)
je pense que la réponse est tout à fait logique sur ce bonne lecteur
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#30 Le 26/01/2010, à 22:32
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
faustus a écrit :@Peuks
Je ne sais pas si tu connais ça : http://abs.traduc.org/abs-fr/
Ça devrait t'occuper pour la soirée et t'ouvrir toutes sortes d'horizons nouveaux...Je ne sais pas si c'est de l'ironie mais merci. Pour l'instant je flanne un peu sur sdz a essayer de comprendre petit à petit
je ne sais pas si c'était ironique mais ABS est réellement la bible du scripting bash! Je te le conseille sans hésitation.
As-tu essayé de faire un petit quelque chose avec les pistes que je t'ai données ?
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#31 Le 26/01/2010, à 23:18
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
J'ai du mal a comprendre ce bout de code
function ma_fonction () {
echo ppa:${1}
}
Pour au final avoir mon script qui fonctionne comme tu le proposes ( et que je préfère )
le_script depot_ppa_1 depot_ppa_2 depot_ppa3
J'ai bien cherché sur sdz et la doc de ubuntu mais je dois dire que je suis un peu largué a ce niveau là. ( des variable $1 $2 etc )
Dernière modification par Peuks (Le 26/01/2010, à 23:28)
Hors ligne
#32 Le 26/01/2010, à 23:42
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
function ma_fonction () {
[…]
}
crée une fonction ma_fonction qui lance le code […] lorsque tu l'appelles.
$1, $2 etc. correspondent aux arguments de ton script / ta fonction.
ex. si tu lances :
le_script depot_ppa_1 depot_ppa_2 depot_ppa3
$1 = depot_ppa_1
$2 = depot_ppa_2
$3 = depot_ppa_3
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#33 Le 29/01/2010, à 23:14
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
Je n'ai pas vraiment compris mais en regardant un peu ton script, voilà se qui en résulte. ( plus que probablement faux a mon avis )
#!/bin/bash
if [ $# = 0 ]; then
echo -e "Argument missing\nSyntax : $0 command [command_arguments]"
exit 1
fi
sudo add-apt-repository ppa:$0.
Hors ligne
#34 Le 29/01/2010, à 23:46
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
Et dans ma deuxième tentative tout fonctionne !
#!/bin/bash
nom_du_depot()
{
command_arguments
}
#rechargement()
#{
# echo "les sources des listes des paquets vont être mis à jour...;sudo apt-get update"
#}
sudo add-apt-repository ppa:$1;
echo 'les sources des listes des paquets vont être mis à jour...';
sudo apt-get update;
echo 'les sources ont été mis à jour'
Je voulais savoir si il est possible de rendre la mise à jour des paquets invisible ?
Et d'autre part. Quelqu'un peut m'expliquer pourquoi cette version du script ne fonctionne pas ?
#!/bin/bash
nom_du_depot()
{
command_arguments
}rechargement()
{
echo 'les sources des listes des paquets vont être mis à jour...';sudo apt-get update;echo 'les sources ont été mis à jour'
}
sudo add-apt-repository ppa:$1;
$2
Dernière modification par Peuks (Le 30/01/2010, à 00:01)
Hors ligne
#35 Le 29/01/2010, à 23:54
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
@Peuks : euh… pas tout compris
essaye de t'inspirer de cet exemple :
for ((i=1 ; i<=$# ; i++ ))
do
echo ${!i}
done
autre chose : évite de mettre des sudo dans tes scripts, il vaut mieux vérifier que l'utilisateur est root et afficher un msg d'erreur si ce n'est pas le cas. Pour cela fais un test sur la variable $UID qui doit être égale à 0
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#36 Le 30/01/2010, à 00:08
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
Je t'avoue que là je suis totalement dépassé !
Voici le script dans sa version "propre"
#!/bin/bash
##########################
nom_du_depot()
{
command_arguments
}
##########################
sudo add-apt-repository ppa:$1
echo 'les sources des listes des paquets vont être mis à jour...';
sudo apt-get update;
echo 'les sources ont été mis à jour'
Pour sudo je le comprends très bien . Comme je ne comprends rien a se que tu m'as dit ( pas encore je suis novice je le rappel ) je pensais a changer les autorisations avec visudo et je rajoute mon script à l'intérieur. De cet manière je serai le seul a avoir le droit de l'exécuter sans mot de passe. Pour les autres il faudra passer par sudo et un mot de passe !
Le bout de code que tu m'as donné concerne quel partie du script ?
Dernière modification par Peuks (Le 30/01/2010, à 00:16)
Hors ligne
#37 Le 30/01/2010, à 00:30
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
bon je pense qu'un point s'impose…
À quoi est censé servir ça :
nom_du_depot()
{
command_arguments
}
pour le bout de code de mon message précédent, il ne fait rien pour mettre directement dans ton script, c'est simplement pour que tu l'étudies et que tu comprennes ce qu'il fait pour ensuite le modifier pour ton script.
en ce qui concerne le fait de modifier les permission sudo c'est une mauvaise idée pour 2 raisons :
- cela entraîne une faille de sécurité
- ce n'est pas portable si tu diffuses ton script
commence par essayer de comprendre le bout de code précédent avant de continuer, c'est du B-A BA, si tu n'y arrives pas demande moi je t'expliquerai.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#38 Le 30/01/2010, à 00:37
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
Si tu te sens d'une humeur pédagogue je t'écouterai ( lirai ) de manière religieuse
Hors ligne
#39 Le 30/01/2010, à 00:55
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
for ((i=1 ; i<=$# ; i++ ))
do
echo ${!i}
done
la boucle for :
incrémente la variable i de 1 à chaque boucle (i++) en démarrant à 1 (i=1) et jusqu'à $# (i<=$#) qui représente le nombre d'arguments.
la syntaxe ${nom_de_variable} permet d'afficher le contenu de la variable nom_de_variable, comme tu l'as déjà vu les variables 1, 2, 3… représentent les arguments passés au script. Problème on ne connaît pas à l'avance le nombre d'arguments. C'est pourquoi on utilise i qui parcours tous les numéros des arguments. La syntaxe ${!i} permet de remplacer le nom_de_variable par la valeur contenue dans i ainsi si i vaut 2, ${!i} sera équivalent à $2
Pour le reste il te suffit d'utiliser ta variable ${!i} qui parcours donc chaque argument tous les tours de boucle pour lancer ta commande d'ajout de dépôt.
Est-ce clair ?
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#40 Le 30/01/2010, à 11:09
- Peuks
Re : simplifier encore plus l'ajout de dépot grace a un script !
Le nombre d'arguments étaient mon dernier problème. Merci !
Je vais essayer de me pencher dessus pendant la semaine. D'ici la fin de semaine je pense trouver la réponse. Mais pour l'instant priorité au bac blanc.
Hors ligne
#41 Le 30/01/2010, à 12:41
- nesthib
Re : simplifier encore plus l'ajout de dépot grace a un script !
Le nombre d'arguments étaient mon dernier problème. Merci !
de rien mais tu avais déjà la réponse depuis ce post
Je vais essayer de me pencher dessus pendant la semaine. D'ici la fin de semaine je pense trouver la réponse. Mais pour l'instant priorité au bac blanc.
bien sûr! bon courage
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne