• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] bash script

Hallo

ich brauche ein bash script das mir in einem bestimmten Verzeichniss alle Rechte, Besitzer & Gruppen ändert
und dabei zwischen Datei und Verzeichniss unterscheidet. Bisher bis ich soweit gekommen.

Code:
#!/bin/bash
$PATH=/home/test/
# Auf Verzeichnis oder Datei Pruefen
find "$PATH" -depth -maxdepth 1 | while read A
do
if [ -d "$A" ];
   then
     echo Verzeichniss: "$A";
     chmod 0770 $A;
else
     if [ -f "$A" ];
     then
       echo Datei: "$A";
       chmod 0660 $A;
     fi
fi
done

Mein Problem sind jetzt die Leerzeichen in Verzeichnis- Dateinamen. Ich habe irgendwie versucht " Zeichen einzufügen aber irgendwie bekomme ich das net hin :???: . Kann mir einer helfen.

Danke
 
A

Anonymous

Gast
Hab jetzt kein Linux hier, hab mal dein Script etwas abgeändert, würde erwarten, das es so besser geht. Ansonsten gilt was oben geschrieben steht, wie du es versuchst ist es viel zu kompliziert gedacht.

Code:
#!/bin/bash
PATH=/home/test/   #sowas macht man nicht: andere Variable zB "my_PATH"
# Auf Verzeichnis oder Datei Pruefen
find "$PATH" -depth -maxdepth 1 | while read A
do
if [ -d "$A" ]
   then
     echo "Verzeichniss: $A"
     chmod 0770 "$A"
else
     if [ -f "$A" ]
     then
       echo "Datei: $A"
       chmod 0660 "$A"
     fi
fi
done

robi
 
gut ich hab es jetzt mal so gemacht

Code:
find "$PATH_Online" -type f | while read A
do
chmod 0660 $A
done

trotzdem hab ich noch das leerzeichen problem

Tante EDIT: chmod 0660 "$A", so gehts ;)
 
A

Anonymous

Gast
find "$PATH_Online" -type f | while read A
do
chmod 0660 "$A"
done
besser aber dennoch folgendes, dann geht nicht nur Leerzeichen sondern auch "noch schlimmere" Sonderzeichen problemlos.
Code:
find OPTIONEN -exec chmod OPTIONEN {} \;

robi
 
Oben