BASH-programmering

Hur man gör BASH passar dig bättre

Hur man gör BASH passar dig bättre
BASH har en enkel standardinställning vilket är bra men du kanske vill ha mer! Många datoranvändare undviker kommandoraden eftersom det är svårt att använda. Detta är en missuppfattning. Kommandoraden har en inlärningskurva, det kräver lite kunskap för att komma igång. Men de du känner till några saker, det är snabbare och ofta lättare. Efter att ha lärt sig några grundläggande kommandon är den absolut nödvändiga färdigheten att läsa dokumentation. Det kanske inte låter som en färdighet men det är det. Anledningen är att dokumenten är generiska, de kommer inte att svara på din specifika fråga, du måste härleda svaret från den information du har. När du startar din miljö har systemet filer som styr vilka standardvärden som kommer att vara i många applikationer kommer att ställas in. För bash har du flera filer som styr detta. Dessa filer i en sekvens och endast om andra inte finns.

Vad kan du ändra?

Massor av saker, men ändringarna du kommer att märka först är de som ställer in din uppmaning. Du har också alias och miljövariabler. Många av dessa är inställda för att se till att du använder rätt bibliotek och körbara filer när du kör program. Filerna kontrollerar och lägger till funktioner i skalet, ett exempel är historik. I bash har du en historikfil som innehåller de senaste kommandona du har angett. Du kan välja om du vill att historik ska behålla dubbletter och hur stor filen blir. Det finns många fler saker du kan köra. Ett bra exempel på verktyg finns från bash-it.

Var lagras den?

Det här verkar som en enkel lista över några filer som körs när du startar. Men på grund av hur bash börjar, finns det några komplikationer. En är att du vill ha några inställningar för systemet och vissa för varje gång du öppnar ett skal. Filen / etc / profilen körs under inloggningen, notera att den ofta ringer / etc / profile.d / * för att ställa in specifika värden. På Ubuntu anger den snäppvägarna, både för var binära filer finns och där xdg ringer till applikationer. Den här filen är systemomfattande, så använd den inte för personliga inställningar. För systemomfattande filer har du också etc / bash.bashrc, den här filen heter / etc / bashrc utanför debianbaserade distributioner. Administratören ställer in, förhoppningsvis förnuftiga, standardvärden för alla användare på systemet. Om du inte håller med dessa inställningar kan du åsidosätta dem i ~.bashrc, för den speciella användaren.

Jag vet att du kan vara både användare och administratör! Nästa fil du behöver tänka på är ~ /.profil, detta körs vid inloggning, inte när skalet startar. Det börjar också bara om .bashprofile eller .bashlogin finns inte. Standardversionen kontrollerar vilket skal som ska köras. När .profilfilen körs, den börjar ~ /.bashrc om det finns. ~ /.bashrc-filen är där du ska ställa in dina alias och andra personliga inställningar. Två andra filer är intressanta, ~ /.bashlogout och ~ /.inputrc, den förra körs vid utloggning. Det rensar konsolen som standard. Mer intressant är inputrc-filen. Här ändrar du tangentbindningar och tangenttryckningar. Du kan ställa in hur du redigerar på kommandoraden. Standard är emacs stilredigering men du kan ändra det till vi-stil.

Några exempel på förändringar att göra.

Uppdatera din uppmaning ... För att göra din prat snyggare eller för att förmedla mer information kan du ändra värdena på PS1. Först kan du kontrollera vilket värde du redan har.

$ echo $ PS1

Resultatet ser lite kryptiskt ut om du inte har ställt in det till en sträng. Försök:

$ PS1 = "Cool prompt!"

Detta är inte särskilt användbart, du kan istället ställa in värden som informerar dig om vad som händer i ditt system. Här är en kort tabell med några värden:

\ u Nuvarande användarnamn
\ h Aktuellt värdnamn
\ w Aktuell arbetskatalog
\ s Skalets namn
\ t Tid i 24-timmarsformat

Som en utmaning, ställ in din uppmaning att ha ditt användarnamn och värdnamn, korrekt markerat med tecken. Du kan också använda systemdefinierade variabler och till och med utdata från skript. Ställ in ett färgschema ... Du kan ha utdata i färg och även ha olika färger för varje typ av filer. Skapa först en färgstark uppmaning. Färgen kan ändras under uppmaningen. För att starta en ny färg, lägg till '\ e [x, ym' och stoppa med '\ e [m. Här är ett exempel.

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

umask, hur det fungerar ... I skalet har du en inställning som heter "umask", den anger hur filbehörigheter ställs in när du skapar dem. Det vanligaste värdet är 022. Detta gör att filer har behörigheter som tillåter användare att läsa och skriva och alla andra att bara läsa. På detta sätt måste du ändra nya skriptfiler till körbara som en separat åtgärd. Detta är ett säkert sätt att hantera filer.

funktionsdefinitioner ... Du kan också inkludera funktioner, formatet på dessa kan vara POSIX-kompatibelt eller bash. Om du planerar att växla mellan skal, leta upp hur du håller dig. Du kan också köra ett skript i prompten.

#!/ bin / bash
# lsbytesum - antalet byte i en kataloglista
TotalBytes = 0
för byte i $ (ls -l | grep "^ -" | awk 'print $ 5')
do
TotalBytes = $ TotalBytes + $ Bytes
Gjort
TotalMeg = $ (echo -e "\ n $ TotalBytes / 1048576 \ nquit" | bc)
eko -n "$ TotalMeg"

Om du har koden ovan (kredit till TLDP) kan du ringa den i din prompt (PS1). För att ställa in lägg till detta i din bashrc.

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

Du kan naturligtvis köra det manuellt för att se om du gillar det först. Det finns inga färger i den här stilen, du måste kombinera många olika inställningar.

När du väl har bestämt vad du vill, måste du lägga värdena i din .bashrc-fil.

Slutsats

Bash har många funktioner som du kan använda för att göra din miljö bättre. Du kan göra många jobb snabbare om du har lärt dig hur du ska vara effektiv. Ett sätt är att skapa alias, ett annat är att skapa egna skript. Det kan vara mycket fördelaktigt för din effektivitet om du tar dig tid att klättra förbi den ursprungliga barriären.

Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...
Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...
Användbara verktyg för Linux-spelare
Om du gillar att spela spel på Linux är chansen att du kan ha använt appar och verktyg som Wine, Lutris och OBS Studio för att förbättra spelupplevels...