[shell] tester si un fichier est déplaçable

Bonjour,
Voilà, j'ai un petit souci et je ne sais pas comment faire cela avec un script shell :
"si le fichier n'est pas déplaçable (en cours d'écriture par exemple), on arrete le traitement en cours avec une trace log"

quelqu'un peut il m'aider, svp?

3 réponses

  1. if [ -w $fichier ]
    then
    mv $fichier $destination
    fi
    
    0
    1. Modérateur
      Attention les droits Unix standards peuvent se révéler insuffisants
      Sur un FS ext2:
      horus:~# touch bidon
      horus:~# chattr +i bidon
      horus:~# ls brol
      ls: brol: No such file or directory
      horus:~# [ -w bidon ] && mv bidon brol
      mv: cannot move `bidon' to `brol': Operation not permitted
      horus:~# chattr -i bidon ; [ -w bidon ] && mv bidon brol
      horus:~# ls -l brol
      -rw-r--r-- 1 root root 0 Sep 6 16:44 brol

      Il faut dans ce cas utiliser les droits d'accès étendus, puisque les droits standards sont un leurre.

      man chattr, man lsattr

      Johan
      0

      Discussions similaires

      question pix mot caché

      7 réponses