Emancipate Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 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 Lenke til kommentar
Rasjonelt Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 (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 4. juni 2014 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 (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 4. juni 2014 av Tåkelur Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 (endret) Woops, glemte den detaljen. Sec, oppdaterer. Nå skal alt være i orden. Endret 4. juni 2014 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 Btw, du trenger ikke skippe mappen Adwaita spesifikt, for der er det allerede en gtk-3.0, og ingen mapper med gtk-3.0 i seg skal få en ny gtk-3.0 uansett. Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 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] Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 (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 4. juni 2014 av Lycantrophe Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 Hvordan har du tastet inn? Husk at find tar: find [path] [options...] som er litt snålt i starten. Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 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? Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 (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 4. juni 2014 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 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 xfwm4Så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 Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 (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 4. juni 2014 av Lycantrophe Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 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. Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 Jepp, den tar bare linker. Det er det -type l gjør. Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 Ok, den får duge fordi jeg tilfeldigvis ikke har noen andre linker. Men egentlig burde den bare tatt døde linker. Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 Linkene er der fortsatt, etter å ha kjørt koden. Lenke til kommentar
Lycantrophe Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 Vi kan da ordne det og. find -L /usr/share/themes -type l -name gtk-3.0 -delete -mindepth 1 -maxdepth 1 Lenke til kommentar
Sokkalf™ Skrevet 4. juni 2014 Del Skrevet 4. juni 2014 Alle døde linker kan i teorien tas med noe sånt.. har ikke testet den find . -type l -! -exec test -e {} \; -print | while read deadlink; do rm "${deadlink}"; done Lenke til kommentar
Emancipate Skrevet 4. juni 2014 Forfatter Del Skrevet 4. juni 2014 Jeg gir opp dette. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå