Sådan skriver du et .sh script til at ændre ejerskab og tilladelser, mens visse filer ekskluderes

Hvordan kan man skrive et .sh script til at ændre ejerskab og tilladelser for en liste af mapper og filer, og samtidig ekskludere visse filer?

For at skrive et .sh script til at ændre ejerskab og tilladelser for en liste af mapper og filer, og samtidig ekskludere visse filer, skal du definere variabler, oprette en ekskluderingsfunktion og iterere gennem filerne med de ønskede ændringer.

Sådan skriver du et .sh script til at ændre ejerskab og tilladelser for en liste af mapper og filer, og samtidig ekskludere visse filer

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:

  1. 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")
  2. 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
    }
  3. 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.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker