For at skrive et .sh script, der ændrer ejerskab og tilladelser for en liste af mapper og filer, mens visse filer ekskluderes, kan du følge disse trin:
Definer variabler: Start med at definere variabler for ejerskab, tilladelser og de filer/mapper, der skal ekskluderes.
OWNER="ny_ejer"
PERMISSIONS="755"
EXCLUDE=("fil1.txt" "fil2.log")
Opret en funktion til at kontrollere ekskludering: Lav en funktion, der tjekker, om en fil eller mappe er i ekskluderingslisten.
is_excluded() {
for exclude in "${EXCLUDE[@]}"; do
if [[ "$1" == "$exclude" ]]; then
return 0
fi
done
return 1
}
Iterer gennem filer og mapper: Brug en løkke til at gå gennem alle filer og mapper i den ønskede liste.
for item in *; do
if ! is_excluded "$item"; then
chown $OWNER "$item"
chmod $PERMISSIONS "$item"
fi
done
Her er et komplet eksempel på et .sh script:
#!/bin/bash
# Definer variabler
OWNER="ny_ejer"
PERMISSIONS="755"
EXCLUDE=("fil1.txt" "fil2.log")
# Funktion til at kontrollere ekskludering
is_excluded() {
for exclude in "${EXCLUDE[@]}"; do
if [[ "$1" == "$exclude" ]]; then
return 0
fi
done
return 1
}
# Iterer gennem filer og mapper
for item in *; do
if ! is_excluded "$item"; then
chown $OWNER "$item"
chmod $PERMISSIONS "$item"
fi
done
Dette script vil ændre ejerskab og tilladelser for alle filer og mapper i den aktuelle mappe, undtagen dem, der er angivet i ekskluderingslisten.