Emancipate Skrevet 17. oktober 2010 Skrevet 17. oktober 2010 Jeg ønsker å lage en kommando som tar meg til en mappe, og så kjører ls automatisk. Jeg prøvde dette: #!/bin/bash cd $* && ls To problemer: 1. cd blir ikke oppdatert, altså etter at jeg har kjørt scriptet er jeg der jeg var før jeg kjørte det... 2. ls vises ikke med farger
mikeys Skrevet 17. oktober 2010 Skrevet 17. oktober 2010 Grunnen til at ls ikke er med farger er fordi scriptet blir kjørt utenfor ditt vanlige bruker miljø, dvs. at aliaser du har satt i .bashrc og lignende ikke vil fungere. Hvis du vil ha farger kan du bruke ls --color=auto Når det gjelder skifting til en annen mappe så gjelder noe det samme som over. Fordi scriptet blir kjørt i et subshell og blir behandlet som sitt eget miljø så påvirker det ikke miljøet i det shellet du er logget inn i. Det kan være det er en måte å komme rundt dette, men det vet jeg ikke om dessverre.
olefiver Skrevet 17. oktober 2010 Skrevet 17. oktober 2010 En mulighet er å "source scriptet" snarere enn å kjøre det... se link
Emancipate Skrevet 18. oktober 2010 Forfatter Skrevet 18. oktober 2010 Går det ikke an å sette opp et alias eller liknende?
Sokkalf™ Skrevet 18. oktober 2010 Skrevet 18. oktober 2010 (endret) Legg det som en function i .bashrc-fila di. function cdls { cd $* && ls } Ikke testet, men tror det skal funke. Endret 18. oktober 2010 av Sokkalf™ 1
Emancipate Skrevet 19. oktober 2010 Forfatter Skrevet 19. oktober 2010 Takk, akkurat det jeg var ute etter!
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å