Gå til innhold

Anbefalte innlegg

Skrevet

Jeg kan ingenting om bash scripting. Gidder noen å skriver om denne pseudokoden som jeg trenger til et script?

basefolder = "/usr/share/themes/"

cd basefolder
for each folder in basefolder do
    cd folder
        ln -s basefolder"/Adwaita/gtk-3.0"
    cd ..
endfor
Videoannonse
Annonse
Skrevet (endret)

edit: Skal dette kjøres ofte?

 

find /usr/share/themes/ -maxdepth 1 -type d -path /usr/share/themes/{.,Adwaita} -prune -o  -exec ln -s /usr/share/themes/Adwaita/gtk-3.0 '{}'/ \;
Endret av Lycantrophe
Skrevet (endret)

 

Takk.

 

Nei, det skal ikke kjøres ofte.

 

Den skal ikke gå i dybden. Altså, den skal gå inn i /usr/share/themes/Crux og lage en link, men den skal ikke gå inn i /usr/share/themes/Crux/gtk-2.0.

Endret av Tåkelur
Skrevet

Woops, glemte den detaljen. Sec, oppdaterer.

 

Nå skal alt være i orden.

jeg vet ikke hva jeg gjør galt, men jeg får feilmelding:

 

find: paths must precede expression: /usr/share/themes/Adawaita

Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

Skrevet (endret)

Greit nok. Da kan {., Adwaita} byttes til .

 

find /usr/share/themes/ -maxdepth 1 -mindepth 1 -type d -exec ln -s /usr/share/themes/Adwaita/gtk-3.0 '{}'/ \;
Endret av Lycantrophe
Skrevet

Oups, du hadde skrevet Adawaita istedenfor Adwaita, og nå har jeg hele "huset" full av broken links.

 

Er det noen måte å få erstattet linkene til /usr/share/themes/Adawaita/gtk-3.0 med linker til /usr/share/themes/Adwaita/gtk-3.0, uten å ødelegge eventuelle linker og mapper som var der i utgangspunktet?

Skrevet (endret)

rename s/Adawaita/Adwaita/ */*
Kjør

rename -n s/Adawaita/Adwaita/ */*
dersom du kun vil se forandringene uten å faktisk utføre de.

 

Sorry! typos yo

Endret av Lycantrophe
Skrevet

Hvordan skal det virke? Rename renamer filer, jeg vil ikke rename filene, men endre linken.

 

Sånn ser det ut:

brukernavn:/usr/share/themes/MurrinaDark$ ls -l
total 8
-rw-r--r-- 1 root root   38 mars  12 15:18 AUTHOR
lrwxrwxrwx 1 root root   34 juni   4 13:43 gtk-3.0 -> /usr/share/themes/Adawaita/gtk-3.0
drwxr-xr-x 2 root root 4096 april 17 00:35 xfwm4
Sånn vil jeg det skal se ut:

brukernavn:/usr/share/themes/MurrinaDark$ ls -l
total 8
-rw-r--r-- 1 root root   38 mars  12 15:18 AUTHOR
lrwxrwxrwx 1 root root   34 juni   4 13:43 gtk-3.0 -> /usr/share/themes/Adwaita/gtk-3.0
drwxr-xr-x 2 root root 4096 april 17 00:35 xfwm4
Skrevet (endret)

Åh, fordi linkene peker til feil fil? Slett de og lag de på nytt.

 

find /usr/share/themes -type l -name gtk-3.0 -delete -mindepth 1 -maxdepth 1
Deretter kjører du den opprinnelige find.

 

merk: dersom Adwaita-diret ditt har en symlink som heter gtk-3.0 (det kan godt hende) bør du ikke kjøre denne. Du kan også se på find sine -ok-options, samt prints.

Endret av Lycantrophe
Skrevet

Men denne vil slette alle mappene og linkene som heter gtk-3.0, eller hva? Det er allerede gtk-3.0-undermapper i mange av mappene, disse må absolutt ikke slettes.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...