Probleme shell

Bonjour,
j'aimerai recuperer les droits d'un fichier, le nom d'utilisateur ainsi que le nom du groupe
droits=`ls -l nom_fichier| cut -d" " -f1 `
user=`ls -l nom_fichier| cut -d" " -f3`
group=`ls -l nom_fichier| cut -d" " -f4`

je recupere bien les droits mais je n'arrive pas a recuperer ni le user ni le group, ces variables sont vides. comment faire?

merci
Configuration: Windows XP
Firefox 2.0.0.4

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Affiche la sortie de ton "ls -l" s'il te plaît, merci.

    Sinon regarde du côté de la commande "stat" :
    stat -c "Droits : %a  Utilisateur : %U  Groupe : %G" ton_fichier
    ;-))
    1. Bonjour,
      pour tester si un fichier a les droits en lecture on peut faire if [ -r nom_du_fichier ] then ...
      J'ai tester cette commande sur un fichier auquel j'ai retirer les droits en lecture mais il rentre quand meme dans la boucle...
      1. Modérateur
        Affiche la sortie de ton "ls -l" ainsi que ta boucle (ou ton script), merci !
        1. Bonjour,
          if [ -f $FICHIER_ARCHIVE]
          then
          echo "le fichier ${FICHIER_ARCHIVE} existe "
          rm $FICHIER_ARCHIVE
          echo "le fichier ${FICHIER_ARCHIVE} a ete supprime "
          else
          echo "le fichier ${FICHIER_ARCHIVE} n'existe pas"

          fi
          lorsque je lance le script j'ai une erreur : "test: ] missing" qqun sait ou il manque le ] ?
          1. voila la sortie de mon ls -l
            -rwxrwxrwx 1 chu p3g 11 Oct 4 16:22 file1.txt
            1. Modérateur
              Si tu pouvais essayer de ne poser qu'une question à la fois et surtout de répondre chronologiquement à tes propres posts ce serait déjà une bonne chose ;-(

              Pour étayer mes dires :

              1ère question : je recupere bien les droits mais je n'arrive pas a recuperer ni le user ni le group, ces variables sont vides. comment faire?

              Réponses de "lami20j" et de moi même avec une demande pour complément : Affiche la sortie de ton "ls -l" s'il te plaît, merci.

              Réponse de chrisotphe1371 : pour tester si un fichier a les droits en lecture on peut faire if [ -r nom_du_fichier ] then ...
              J'ai tester cette commande sur un fichier auquel j'ai retirer les droits en lecture mais il rentre quand meme dans la boucle...


              Nouvelle demande de ma part : "Affiche la sortie de ton "ls -l" ainsi que ta boucle (ou ton script), merci ! "

              Et dans la réponse le script en question teste l'existence d'un fichier !!! Rien à voir avec les 2 précédentes demandes !?

              Donc merci de ne pas trop te disperser, ok ?

              Quant à ton soucis de crochet, c'est un problème de syntaxe, il manque juste un espace avant le crochet fermant.

              ;-))