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 :

script pour ajouter des droits d'exécution aux scripts


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti Avatar de Chatbour
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 431
    Points : 305
    Points
    305
    Par défaut script pour ajouter des droits d'exécution aux scripts
    Salut à tous

    J'essaye d'écrire un script qui ajoute des droits d'exécution aux fichiers scripts se trouvant sous le répertoire courant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #!/bin/bash
     
    for fichier in $(ls)
    do
      if test -f $fichier; then
        if test $(head -1 $fichier)="#!bin/bash"; then
          chmod u+x $fichier
        fi
      fi
    done
    le problème c'est que cela marche pour tous les fichiers !
    où est la faute ?

    Merci d'avance..

  2. #2
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Utilise des simple quotes au lieu des doubles. Je pense que ton point d'exclamation est interprété par le shell (avec l'historique).

    En passant :
    $(ls) peut être avantageusement remplacé par *.

    Et tu voudras peut-être tester juste la présence du she-bang, avec head -c2. Ton test est assez limité et échouera s'il y a une espace après le she-bang ou si un autre shell est utilisé.

  3. #3
    Membre averti Avatar de Chatbour
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 431
    Points : 305
    Points
    305
    Par défaut
    Merci LLB mais ça n'a pas résolu le problème

  4. #4
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if test "$(head -c2 $fichier)" = '#!'; then

  5. #5
    Membre averti Avatar de Chatbour
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 431
    Points : 305
    Points
    305
    Par défaut
    ça résout parfaitement mon problème !

    Merci beaucoup LLB : merci pour votre disponibilité pour aider les autres

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

Discussions similaires

  1. Ajouter des droits par script à un utilisateur
    Par Delphi-ne dans le forum Administration
    Réponses: 7
    Dernier message: 26/06/2014, 11h39
  2. Réponses: 11
    Dernier message: 25/02/2010, 16h33
  3. script pour ajouter des utilisateurs postgres
    Par xopos dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 16/08/2004, 10h49

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