indietro

  • chmod LISTA

    Cambia i permessi di una lista di file. Il primo elemento della lista deve essere la modalità numerica, che deve probabilmente essere un numero ottale, e che sicuramente non deve essere una stringa di cifre ottali: 0644 va bene, '0644' no. Restituisce il numero di file modificati con successo. Consultate anche oct, se tutto ciò che avete a disposizione è una stringa.

        $cnt = chmod 0755, 'pippo', 'pluto';
        chmod 0755, @eseguibili;
        $modalita = '0644'; chmod $modalita, 'pippo';      # !!! imposta la modalita` a
                                                  	       # --w----r-T
        $modalita = '0644'; chmod oct($modalita), 'pippo'; # questo e` meglio
        $modalita = 0644;   chmod $modalita, 'pippo';      # questo e` il migliore

    Su sistemi che supportano fchmod, potreste passare i file handle tra i file. Su sistemi che non supportano fchmod, passare file handle produce un errore fatale a tempo di esecuzione.

        open(my $fh, "<", "pippo");
        my $perm = (stat $fh)[2] & 07777;
        chmod($perm | 0600, $fh);

    Potete anche importare le costanti simboliche S_I* dal modulo Fcntl:

        use Fcntl ':mode';
        chmod S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, @eseguibili;
        # Questo e` identico al chmod 0755 dell'esempio sopra.