BASH-programmering

Hvordan få BASH til å passe deg bedre

Hvordan få BASH til å passe deg bedre
BASH har et enkelt standardoppsett som er flott, men du vil kanskje ha mer! Mange databrukere unngår kommandolinjen, fordi den er vanskelig å bruke. Dette er en misforståelse. Kommandolinjen har en læringskurve, det krever litt kunnskap for å komme i gang. Imidlertid de du vet noen få ting, det er raskere og ofte lettere. Etter å ha lært noen få grunnleggende kommandoer, er den helt essensielle ferdigheten å lese dokumentasjon. Dette høres kanskje ikke ut som en ferdighet, men det er det. Årsaken er at dokumentene er generiske, de vil ikke svare på det spesifikke spørsmålet ditt, du må hente svaret fra informasjonen du har. Når du starter miljøet ditt, har systemet filer som styrer hva standardinnstillingene dine vil være i mange applikasjoner. For bash har du flere filer som styrer dette. Disse arkiveres i en sekvens, og bare hvis andre ikke eksisterer.

Hva kan du endre?

Massevis av ting, men endringene du vil legge merke til først er de som setter spørsmål. Du har også aliaser og miljøvariabler. Mange av disse er satt til å sikre at du bruker riktige biblioteker og kjørbare filer når du kjører applikasjoner. Filene kontrollerer og legger til funksjoner i skallet, et eksempel er historie. I bash har du en historikkfil som inneholder de siste kommandoene du har skrevet inn. Du kan velge om du vil at historikken skal beholde duplikater, og hvor stor filen blir. Det er mange flere ting du kan kjøre. Et fint eksempel på verktøy er tilgjengelig fra bash-it.

Hvor lagres den?

Dette virker som en enkel liste over noen få filer som kjøres når du starter. Imidlertid, på grunn av måten bash starter, er det noen komplikasjoner. Den ene er at du vil ha noen innstillinger for systemet og noen for hver gang du åpner et skall. Filen / etc / profilen kjører under pålogging, merk at den ofte ringer / etc / profile.d / * for å angi spesifikke verdier. På Ubuntu setter den snap-banene, både for hvor binærfiler er og hvor xdg kaller applikasjoner. Denne filen er hele systemet, så ikke bruk den til personlige innstillinger. For systemomfattende filer har du også etc / bash.bashrc, denne filen heter / etc / bashrc utenfor debianbaserte distribusjoner. Administratoren angir, forhåpentligvis sunn, standardinnstillinger for alle brukere på systemet. Hvis du ikke er enig i disse innstillingene, kan du overstyre dem i ~.bashrc, for den spesielle brukeren.

Jeg vet at du kan være både bruker og administrator! Den neste filen du må vurdere er ~ /.profil, kjører dette ved pålogging, ikke når skallet starter. Det starter også bare hvis .bashprofile eller .bashlogin eksisterer ikke. Standardversjonen sjekker hvilket skall som skal kjøres. Når .profilfilen kjører, den starter ~ /.bashrc hvis den eksisterer. ~ /.bashrc-filen er der du bør angi aliaser og andre personlige innstillinger. To andre filer er interessante, ~ /.bashlogout og ~ /.inputrc, den tidligere kjører ved avlogging. Det tømmer konsollen som standard. Mer interessant er inputrc-filen. Her endrer du tastebindinger og tastetrykk. Du kan angi hvordan du redigerer på kommandolinjen. Standard er redigering av emacs-stil, men du kan endre det til vi-stil.

Noen eksempler på endringer å gjøre.

Oppdater ledeteksten ... For å få ledelsen din til å se penere ut eller for å formidle mer informasjon, kan du endre verdiene til PS1. Først kan du sjekke hvilken verdi du allerede har.

$ ekko $ PS1

Resultatet ser litt kryptisk ut med mindre du har satt det til en streng. Prøv det:

$ PS1 = "Cool Prompt!"

Dette er ikke veldig nyttig, du kan i stedet sette verdier som informerer deg om hva som skjer i systemet ditt. Her er en kort tabell med noen verdier:

\ u Nåværende brukernavn
\ h Gjeldende vertsnavn
\ w Gjeldende arbeidskatalog
\ s Navnet på skallet
\ t Tid i 24-timers format

Som en utfordring, still inn meldingen din om å få brukernavnet og vertsnavnet ditt, riktig merket med bokstav. Du kan også bruke systemdefinerte variabler og til og med utdata fra skript. Sett et fargevalg ... Du kan ha utdataene dine i farger, og også ha forskjellige farger for hver filtype. Opprett først en fargerik ledetekst. Fargen kan endres gjennom hele meldingen. For å starte en ny farge, legg til '\ e [x, ym' och stoppa med '\ e [m. Her er et eksempel.

$ PS1 = "\ e [0; 35m \ [e-postbeskyttet] \ h \ e [m \ e [0; 32m \ d \ A \ e [m \ $>"

umask, hvordan det fungerer ... I skallet har du en innstilling som heter 'umask', den angir hvordan filtillatelser blir angitt når du oppretter dem. Den vanligste verdien er 022. Dette gjør at filer har tillatelser som tillater brukere å lese og skrive, og alle andre bare å lese. På denne måten må du endre nye skriptfiler til kjørbare som en egen handling. Dette er en trygg måte å håndtere filer på.

funksjonsdefinisjoner ... Du kan også innlemme funksjoner, formatet på disse kan være POSIX-kompatibelt eller bash. Hvis du planlegger å bytte mellom skall, må du se etter hvordan du kan være kompatibel. Du kan også kjøre et skript i ledeteksten.

#!/ bin / bash
# lsbytesum - antall byte i en katalogoppføring
TotalBytes = 0
for Bytes i $ (ls -l | grep "^ -" | awk 'print $ 5')
gjøre
TotalBytes = $ TotalBytes + $ Bytes
ferdig
TotalMeg = $ (echo -e "\ n $ TotalBytes / 1048576 \ nquit" | bc)
ekko -n "$ TotalMeg"

Hvis du har koden ovenfor (kreditt til TLDP), kan du ringe den i ledeteksten din (PS1). For å sette det, legg dette til bashrc.

$ PS1 = "[\ [e-postbeskyttet] \ h: \ w (\ $ (lsbytes) Mb)] \ $"

Du kan selvfølgelig kjøre den manuelt for å se om du liker det først. Det er ingen farger i denne stilen, du må kombinere mange forskjellige innstillinger.

Når du har bestemt deg for hva du vil, må du legge verdiene i din .bashrc-fil.

Konklusjon

Bash har mange funksjoner som du kan bruke for å gjøre miljøet ditt bedre. Du kan gjøre mange jobber raskere hvis du har lært å være effektiv. En måte er å lage aliaser, en annen er å lage dine egne skript. Det kan være veldig gunstig for effektiviteten din, hvis du tar deg tid til å klatre forbi den første barrieren.

OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...
OpenTTD Tutorial
OpenTTD er et av de mest populære forretningssimuleringsspillene der ute. I dette spillet må du lage en fantastisk transportvirksomhet. Du begynner im...
SuperTuxKart for Linux
SuperTuxKart er en flott tittel designet for å gi deg Mario Kart-opplevelsen gratis på Linux-systemet ditt. Det er ganske utfordrende og morsomt å spi...