Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 !

nesthib a écrit :

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 !

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... lol

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 smile

Hors ligne

#29 Le 26/01/2010, à 21:22

Qid

Re : simplifier encore plus l'ajout de dépot grace a un script !

Peuks a écrit :
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... lol

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 wink sur ce bonne lecteur big_smile


"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 !

Peuks a écrit :
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... lol

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 smile

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 smile

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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 !

Peuks a écrit :

Le nombre d'arguments étaient mon dernier problème. Merci !

de rien mais tu avais déjà la réponse depuis ce post wink

Peuks a écrit :

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 smile


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne