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

Shell et commandes GNU Discussion :

Exécuter un script uniquement connecté sur un SSID


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Exécuter un script uniquement connecté sur un SSID
    Bonjour à tous,


    Je cherche comment exécuter un script qui ne s'exécuterais que sur un SSID (mon réseau wifi),
    Je pensais à un if, mais je ne vois pas quel argument je pourrais utiliser...
    Je suis sous Mac OS X, et le script est un simple script pour monter les volumes de mon NAS au démarrage de la machine.

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour,

    je ne vois pas quel argument je pourrais utiliser...
    comment identifies-tu le réseau sur lequel tu es connecté ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,

    comment identifies-tu le réseau sur lequel tu es connecté ?
    En fait, je pense avoir trouvé le chemin à suivre, mais j'ai des erreurs de syntaxe...
    j'ai le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./script.bash: line 5: [: Home: integer expression expected
    voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
     
    var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | grep " SSID:" | awk '{print $2}')
     
    if [ $var -eq Home ]
    then
       mount volume "smb://Guest@NAS/Volume_1"		      	
       mount volume "smb://Guest@NAS/Volume_2"
       mount volume "smb://Guest@NAS/P2P"
    else
       exit
    fi

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    -eq est un opérateur arithmétique. Ici, il faut utiliser l'opérateur lexical =.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
     
    var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport  -I | awk '/ SSID:/{print $2}')
     
    if test "$var" = "Home"
    then
       mount volume "smb://Guest@NAS/Volume_1"		      	
       mount volume "smb://Guest@NAS/Volume_2"
       mount volume "smb://Guest@NAS/P2P"
    else
       exit
    fi
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    j'viens de testé mais j'ai le message d'erreur
    mount: You must specify a filesystem type with -t.

  6. #6
    Expert éminent sénior
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 477
    Points : 11 059
    Points
    11 059
    Par défaut
    mount: You must specify a filesystem type with -t.
    http://man.developpez.com/man8/mount
    ...
    mount -t

    t, --types vfstype Le paramètre à la suite de -t est utilisé pour préciser le type de système de fichiers. Les types actuellement gérés incluent : adfs, affs, autofs, cifs, coda, coherent, cramfs, debugfs, devpts, efs, ext, ext2, ext3, ext4, hfs, hfsplus, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, romfs, squashfs, smbfs, sysv, tmpfs, ubifs, udf, ufs, umsdos, usbfs, vfat, xenix, xfs, xiafs. Notez que les types coherent, sysv et xenix sont équivalents et que xenix et coherent disparaîtront dans le futur (utilisez sysv à leur place). Depuis Linux 2.1.21, les types ext et xiafs n'existent plus. Précédemment, usbfs était connu sous usbdevfs. Notez que la liste effective des systèmes de fichiers gérés dépend du noyau. Les programmes mount(8) et umount(8) gèrent les sous-types de systèmes de fichiers. Le sous-type est défini par le suffixe « .sous-type ». Par exemple, « fuse.sshfs ». Vous devriez plutôt utiliser la notation de sous-type qu'ajouter un préfixe au premier champs (par exemple « sshfs#example.com » est obsolète). Pour la plupart des types, mount effectue seulement un appel système mount(2), et aucune connaissance détaillée du système de fichiers n'est nécessaire. Pour certains types toutefois (comme nfs, nfs4, cifs, smbfs, ncpfs) du code supplémentaire est indispensable. Les systèmes de fichiers nfs, nfs4, cifs, smbfs et ncpfs ont un programme mount indépendant. Afin de rendre uniforme le traitement de tous les types, mount exécutera le programme /sbin/mount.vfstype (s'il existe) lorsqu'il est invoqué avec le type vfstype. Comme différentes versions de smbmount ont des conventions d'appels diverses, /sbin/mount.smbfs peut être un script shell qui réalise l'appel voulu. Si aucune option -t n'est mentionnée, ou si le type auto est précisé, mount essayera de deviner le type désiré. mount utilise la bibliothèque blkid pour deviner le type de système de fichiers. S'il ne trouve rien qui lui soit familier, mount essaiera de lire le fichier /etc/filesystems ou, s'il n'existe pas, /proc/filesystems. Tous les types de systèmes de fichiers indiqués seront essayés, sauf ceux marqués « nodev » (par exemple devpts, proc et nfs). Si /etc/filesystems se termine par une ligne contenant un unique « * », mount lira ensuite /proc/filesystems. Le type auto peut être utile pour des disquettes montées par l'utilisateur. Créer un fichier /etc/filesystems permet de changer l'ordre d'essai (par exemple vfat avant msdos, ou ext3 avant ext2) ou d'utiliser un autochargeur de modules pour le noyau. On peut indiquer plusieurs types, séparés par des virgules. La liste des types de systèmes de fichiers peut également être préfixée par no pour indiquer les types qu'il ne faut pas tester (c'est pratique avec l'option -a).

    Par exemple la commande :

    mount -a -t nomsdos,ext

    monte tous les systèmes de fichiers, à l'exception de ceux du type msdos et ext.
    Nota: smbfs
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    mais ils sont en ext2 donc je dois faire comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
     
    var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/R$
     
    if test "$var" = "Home"
    then
       mount -a -t smb://Guest@NAS/Volume_1,ext2
       mount -a -t smb://Guest@NAS/Volume_2,ext2
       mount -a -t smb://Guest@NAS/P2P,ext2
    else
       exit
    fi
    EDIT j'me perd là je comprend pas le truc avec la commande mount ni si j'dois utilisé mont_smbfs

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    j'ai essayé de changer comme ci dessous mais j'ai des erreurs

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    usage: mount [-dfruvw] [-o options] [-t external_type] special node
           mount [-adfruvw] [-t external_type]
           mount [-dfruvw] special | node
    usage: mount [-dfruvw] [-o options] [-t external_type] special node
           mount [-adfruvw] [-t external_type]
           mount [-dfruvw] special | node
    usage: mount [-dfruvw] [-o options] [-t external_type] special node
           mount [-adfruvw] [-t external_type]
           mount [-dfruvw] special | node


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
     
    var=$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/R$
     
    if test "$var" = "Home"
    then
       mount -t smbfs //Guest:@NAS/Volume_1
       mount -t smbfs //Guest:@NAS/Volume_2
       mount -t smbfs //Guest:@NAS/P2P
    else
       exit
    fi

  9. #9
    Expert éminent sénior
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 477
    Points : 11 059
    Points
    11 059
    Par défaut
    Citation Envoyé par Chiwili Voir le message
    Je suis sous Mac OS X, et le script est un simple script pour monter les volumes de mon NAS au démarrage de la machine.
    Chiwili, avant de scripter, que donne la commande mount en mode terminal et plus généralement chaque commande invoquée (dans ton futur script) ?
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Février 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Février 2015
    Messages : 8
    Points : 8
    Points
    8
    Par défaut
    Super en changeant la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mount volume "smb://Guest@NAS/P2P"
    par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mount -t smbfs //Guest:@NAS/P2P P2P
    Et en créant le répertoire P2P dans mon repertoire personnel sa passe nickel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ligne de commande php pour exécuter un script php basé sur mon serveur web
    Par bdgtat dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 13/07/2007, 08h53
  2. Réponses: 3
    Dernier message: 27/04/2007, 19h19
  3. [MySQL] exécuter un script php en commande linux : problème sur les fonctions mysql
    Par dr_octopus74 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2007, 16h34
  4. Exécuter un script perl sur une page HTML
    Par natie_49 dans le forum Web
    Réponses: 13
    Dernier message: 05/03/2007, 16h50
  5. Réponses: 3
    Dernier message: 26/02/2007, 19h19

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