IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

programme simple sous linux


Sujet :

Langage Perl

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut programme simple sous linux
    Bonjour,
    J'ai commencer le perl , il y a trois semaines dans le but , de faire mes propre scripts, mon projet est simple, je veux dans un script perl ceci:
    -ouverture simple dans dossier via gedit.
    debut de script basic--->je creer une variable scalaire avec le chemin de mon dossier a ouvrir , puis la je coince je ne sais pas rediriger pour l'instant tout cela via gedit.
    ------------------------------------------------------------------------
    #!/usr/bin/perl
    use strict;
    use warnings;
    opendir (DIR,"/home/v1nux") or die"ne peut ouvrir v1nux\n";
    close DIR;
    -----------------------------------------------------------------------
    pour l'instant je veux juste faire ca, je lis beaucoup de doc mais j'en suis au scalaire , hachage , et au role des modules perl.
    Apres en second lieu un programme qui m'appelerais des .deb (debian) via apt-get et de remplacer certains fichiers (comme le fichier /etc/apt/sources.list) , par des fichiers modifiés, qui eux serais dans un dossier avec le script proprement dit.
    Deja est ce que c'est possible.......

  2. #2
    Membre éclairé Avatar de Vespasien
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 383
    Par défaut
    Deja est ce que c'est possible....
    Effectivement, c'est possible en Perl. system() et exec() seront tes amis.

    Butines directement vers le chapitre sur la communication avec le système afin de faire avancer ton script. Ce sera plus encourageant. Les petites nuances des premiers chapitres te seront vite rappelées: une demi-heure de prise de tête enseigne plus qu'une heure de lecture studieuse. Enfin, çà dépend aussi des tempéraments.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut re
    bien , je vais me pencher de suite , enattendant je vous remercie.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut pour un noob
    voila quelque test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #!/usr/bin/perl 
    use strict;
    use warnings;
    my $vince="/home/vince/Desktop/test.pl";
    my $sources="/home/vince/Desktop/test.pl";
    #my $sources="etc/apt/sources.list";
    my $apt="etc/apt/";
    system "rm -rf $sources";
    #system "cp -a /home/vince/Desktop/maj/sources.list $apt";
    #system "/usr/bin/gedit $vince";
    exit;
    Vraiment un code de noob mais bon pour l'instant , je peux effacer des fichiers d'utilisateur mais pas le sources list de /etc/apt/.
    Je cojite egalement et toujours sur la copie dans un fichier local avec lien relatif ( le fichier a copier ou est le script) vers un lien absolu -----> /etc/apt/sources.list

  5. #5
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par v1nux Voir le message
    Vraiment un code de noob mais bon pour l'instant , je peux effacer des fichiers d'utilisateur mais pas le sources list de /etc/apt/.
    Je te rappelle que pour effacer un fichier il faut avoir les droits dessus... /etc/apt/sources.list appartient au root, il faut donc que tu lances ton script Perl avec un sudo (ou que tu fasses un sudo dans ton programme).

    Par ailleurs, mets ton code entre balises CODE (bouton # de l'interface du forum), il sera bien plus lisible.

    --
    Jedaï

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut re
    ok dsl en plus j'avais oublier le / de etc/apt/sources.list c'est sur que la....

  7. #7
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par v1nux Voir le message
    ok dsl en plus j'avais oublier le / de etc/apt/sources.list c'est sur que la....
    Certes...
    Pour ton problème de copie, utilise le module File::Copy.

    --
    Jedaï

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut re
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system "cp -a xorg.conf $xorg1";
    pour l'instant je n'ai plus le probleme entre chemin absolue et relatif ,la je copie le xorg.conf situé dans le dossier ou le script est executé vers $xorg, je testerais via File::Copy quand meme.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut re
    par contre je recherche a savoir comment on fait pour une copy d'un fichier distant vers un fichier local je n'ai pas de pb a l'inverse...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut
    Citation Envoyé par v1nux Voir le message
    par contre je recherche a savoir comment on fait pour une copy d'un fichier distant vers un fichier local je n'ai pas de pb a l'inverse...
    que je suis bete mais non ca fonctionne al'inverse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system "cp -a $xorg1 xorg.conf";

    Ps: je voudrais bien utiliser File::Copy mais on dirais que ce n'est valable que pour des chemins deja existant.....

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut
    Citation Envoyé par v1nux Voir le message
    que je suis bete mais non ca fonctionne al'inverse il ne faut pas de mettre de / apres "cp -a"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system "cp -a $xorg1 xorg.conf";

    Ps: je voudrais bien utiliser File::Copy mais on dirais que ce n'est valable que pour des chemins deja existant.....

  12. #12
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Citation Envoyé par v1nux Voir le message
    Ps: je voudrais bien utiliser File::Copy mais on dirais que ce n'est valable que pour des chemins deja existant.....
    Tu n'a qu'à créer le chemin avant d'y mettre le fichier

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut re
    et vi.......mais le pb c'est que le code sera distribué (a ca y'est j'suis codeur )
    et le chemin ne seras surement pas le meme pour tout le monde surtout pour le repertoire /home/utilisateur , en root il n'ya pas de pb mais j'ai pas envie de déteriorer leur système ( bien que je prevois un script de restauration mais bon) voila exactement mon plus ou moins probleme.

  14. #14
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Et bien, il suffit de créer ~/script, ça tout le monde peut le faire... De toute façon, si le chemin de destination n'existait pas, je croyais que la fonction devait le créer, je vois pas en quoi créer le chemin avant est un problème dans ce cas

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut re
    le dossier /home serais relatif entre tout les utilisateurs (sauf root) donc c'est ici que je créerais mon dossier de sauvegarde
    merci

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 20
    Par défaut je reviens vite fait
    voila un peu pres mon code pour mon pilote nvidia,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!/usr/bin/perl -w
    use strict;
    my $sources="/etc/apt/sources.list";
    my $xorg="/etc/X11/xorg.conf";
    #declaration des variables
    system "cp -a $sources  sources.list ";
    system "cp -a $xorg xorg.conf";
    #copie de fichier
     
    system "cp -a doscreator/sources.list $sources";
    #copie de fichiers vers \$sources 
    system "apt-get update";
    system "apt-get dist-upgrade";
    system "apt-get install module-assistant";
    system "apt-get install gcc \n"; 
    system "apt-get install nvidia-kernel-common";
     my $noyau=`uname -r`;
    print $noyau;
      system " apt-get install build-essential linux-headers-`$noyau`";
    system "m-a update"; 
    system "m-a prepare"; 
    system " m-a auto-install nvidia";
    system "  apt-get install nvidia-glx";
    system " modprobe nvidia"; 
    system "lsmod | grep nvidia";
    system "cp -a doscreator/xorg.conf $xorg";
    print " si vous ne voyez pas d'info sur nvidia relancer le script merci \n";
    system "shutdown -r 0";
    exit;
    #fin de programme
    le seul hic c'est que j'ai un soucis avec modprobe.... je suis obliger de relancer mon script , pour que celui ci sois pris en charge , y a t il un autre moyen de force modprobe...

Discussions similaires

  1. comment compiler un programme c sous linux?
    Par diengsallah dans le forum Linux
    Réponses: 11
    Dernier message: 13/09/2009, 08h57
  2. Réponses: 6
    Dernier message: 26/11/2008, 12h12
  3. Comment faire un programme simple sous glut?
    Par Clad3 dans le forum GLUT
    Réponses: 10
    Dernier message: 16/05/2007, 13h44
  4. Programmation C sous linux
    Par cybername dans le forum Linux
    Réponses: 8
    Dernier message: 28/11/2006, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo