PERL retourne OS
Résolu/Fermé
magicshark
Messages postés
402
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
6 mai 2014
-
15 févr. 2011 à 18:47
magicshark Messages postés 402 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 28 févr. 2011 à 15:11
magicshark Messages postés 402 Date d'inscription mardi 27 juillet 2010 Statut Membre Dernière intervention 6 mai 2014 - 28 févr. 2011 à 15:11
Bonjour, je suis en BTS info et j'ai une appli portable a faire en PERL jusque là ça va, là ou ça se gatte pour moi c'est que comme mon scrpt va devoir lancer diverse ligne de commande je vais devoir connaitre l'os de la machine car linux mac et windows tourne pas pareil. Comment je pourrait faire pour connaitre l'os de la machine ?
merci
merci
A voir également:
- PERL retourne OS
- Reinstaller mac os - Guide
- Ecran retourne - Guide
- Mac os 15 - Accueil - MacOS
- Mac os 14 - Accueil - MacOS
- Chrome os iso - Guide
2 réponses
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
15 févr. 2011 à 19:19
15 févr. 2011 à 19:19
Bsr,
j'ai justement posé la question ce matin dans SE :-)
https://forums.commentcamarche.net/forum/affich-20867833-test-du-systeme-en-perl
#!/usr/bin/perl
use strict;
use Config;
{
print "$Config{osname}\n";
print "$Config{archname}\n";
}
# perl system.pl
linux
i686-linux-thread-multi
j'ai justement posé la question ce matin dans SE :-)
https://forums.commentcamarche.net/forum/affich-20867833-test-du-systeme-en-perl
#!/usr/bin/perl
use strict;
use Config;
{
print "$Config{osname}\n";
print "$Config{archname}\n";
}
# perl system.pl
linux
i686-linux-thread-multi
magicshark
Messages postés
402
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
6 mai 2014
13
28 févr. 2011 à 00:24
28 févr. 2011 à 00:24
pardon j'ai aussi trouver une solution dans la foulé et j'ai zapper de la mettre en fait (me rappelle plus en PERL) mais si sa peut servir a d'autre...
j'envoi la ligne de commande suivante
j'envoi la ligne de commande suivante
#!/usr/bin/perl my $os; $os='uname 2>NUL'; if( $os eq "Linux\n" ) #\n car la commande fait un retour chariot toute seul { print "Tu tournes sous le pingouin\n"; } elsif( $os eq "Darwin\n" ) { print "Tu tournes sous la pomme\n"; } else { print "tu tournes sous windows\n"; }
dmganges
Messages postés
150
Date d'inscription
mercredi 29 octobre 2008
Statut
Membre
Dernière intervention
25 novembre 2013
19
28 févr. 2011 à 06:11
28 févr. 2011 à 06:11
MERCI !
Oui ça peut toujours servir !
@+
Oui ça peut toujours servir !
@+
magicshark
Messages postés
402
Date d'inscription
mardi 27 juillet 2010
Statut
Membre
Dernière intervention
6 mai 2014
13
28 févr. 2011 à 15:11
28 févr. 2011 à 15:11
au passage je vais peut etre expliquer ma commande pour ceux qui ne la comprenne pas.
la variable $os comprend une ligne de commande reconnut sous linux et mac mais pas sous windows la commande uname elle retourne soit Linux pour linux soit Darwin pour mac
ensuite je fais :" 2>NUL"
j'expliquerais plus loin le "2".
le chevron vers Nul s'ignifie que le resultat de la commande est rediriger vers un fichier ce fichier peut etre n'importe lequel result.txt par exemple. Ici c'est un mot clef, NUL donc le resultat est retourner vers un fichier qui ne sera pas creer ça permet que la console dans laquelle la commande est lancer n'affiche rien.
le 2 maintenant c'est la sortie d'erreur.
Donc si je reprend bien ici quand la commande retourne une erreur celle ci est rediriger vers rien alors que si la commande retourne quelque chose de normale la commande fonctionne normalement et est donc utilisable pour ça que dans le script je test linux et darwin mais pas windows celui ci est dans un else. j'espere etre claire sinon rechercher dans google sortie erreur, redirection de resultat
la variable $os comprend une ligne de commande reconnut sous linux et mac mais pas sous windows la commande uname elle retourne soit Linux pour linux soit Darwin pour mac
ensuite je fais :" 2>NUL"
j'expliquerais plus loin le "2".
le chevron vers Nul s'ignifie que le resultat de la commande est rediriger vers un fichier ce fichier peut etre n'importe lequel result.txt par exemple. Ici c'est un mot clef, NUL donc le resultat est retourner vers un fichier qui ne sera pas creer ça permet que la console dans laquelle la commande est lancer n'affiche rien.
le 2 maintenant c'est la sortie d'erreur.
Donc si je reprend bien ici quand la commande retourne une erreur celle ci est rediriger vers rien alors que si la commande retourne quelque chose de normale la commande fonctionne normalement et est donc utilisable pour ça que dans le script je test linux et darwin mais pas windows celui ci est dans un else. j'espere etre claire sinon rechercher dans google sortie erreur, redirection de resultat