BASH-programmering

Hoe je BASH beter bij je kunt laten passen

Hoe je BASH beter bij je kunt laten passen
BASH heeft een eenvoudige standaardconfiguratie die geweldig is, maar misschien wilt u meer! Veel computergebruikers vermijden de opdrachtregel, omdat deze moeilijk te gebruiken is. Dit is een misvatting. De opdrachtregel heeft een leercurve, het vereist enige kennis om aan de slag te gaan. Als je echter een paar dingen weet, is het sneller en vaak gemakkelijker. Na het leren van een paar basiscommando's, is de absoluut essentiële vaardigheid om documentatie te lezen. Dit klinkt misschien niet als een vaardigheid, maar dat is het wel. De reden is dat de documenten generiek zijn, ze zullen uw specifieke vraag niet beantwoorden, u moet het antwoord afleiden uit de informatie die u heeft. Wanneer u uw omgeving start, heeft het systeem bestanden die bepalen wat uw standaardinstellingen in veel toepassingen zullen zijn. Voor bash heb je verschillende bestanden die dit regelen. Deze bestanden in een volgorde en alleen als andere niet bestaan.

Wat kun je veranderen??

Heel veel dingen, maar de veranderingen die je het eerst zult opmerken, zijn die van je prompt. Je hebt ook aliassen en omgevingsvariabelen. Veel van deze zijn ingesteld om ervoor te zorgen dat u de juiste bibliotheken en uitvoerbare bestanden gebruikt bij het uitvoeren van toepassingen. De bestanden besturen ook en voegen functies toe aan de shell, een voorbeeld is geschiedenis. In bash heb je een geschiedenisbestand dat de laatste commando's bevat die je hebt ingevoerd. U kunt kiezen of u wilt dat de geschiedenis duplicaten bewaart en hoe groot het bestand wordt. Er zijn nog veel meer dingen die je kunt doen. Een mooi voorbeeld van hulpprogramma's is verkrijgbaar bij bash-it.

Waar wordt het opgeslagen??

Dit lijkt een eenvoudige lijst van een paar bestanden die worden uitgevoerd wanneer u begint. Vanwege de manier waarop bash begint, zijn er echter enkele complicaties. Een daarvan is dat je enkele instellingen voor het systeem wilt en andere voor elke keer dat je een shell opent. Het bestand /etc/profile wordt uitgevoerd tijdens het inloggen, merk op dat het vaak /etc/profile . aanroept.d/* om specifieke waarden in te stellen. Op Ubuntu stelt het de snap-paden in, zowel voor waar binaire bestanden zijn als waar xdg toepassingen aanroept. Dit bestand is systeembreed, dus gebruik het niet voor persoonlijke instellingen. Voor systeembrede bestanden heb je ook: etc/bash.bashrc, dit bestand heet /etc/bashrc buiten op Debian gebaseerde distributies. De beheerder stelt, hopelijk gezond, standaardwaarden in voor alle gebruikers op het systeem. Als je het niet eens bent met die instellingen, kun je ze overschrijven in ~.bashrc, voor de speciale gebruiker.

Ik weet dat u zowel gebruiker als beheerder kunt zijn! Het volgende bestand dat u moet overwegen is ~/.profiel, dit wordt uitgevoerd bij het inloggen, niet wanneer de shell start. Het begint ook alleen als .bashprofiel of .bashlogin bestaat niet. De standaardversie controleert welke shell wordt uitgevoerd. Wanneer de .profielbestand wordt uitgevoerd, het begint ~/.bashrc als het bestaat. de ~/.bashrc-bestand is waar u uw aliassen en andere persoonlijke instellingen moet instellen. Twee andere bestanden zijn interessant, ~/.bashlogout en ~/.inputrc, de eerste draait bij uitloggen. Standaard wordt de console gewist. Interessanter is het inputrc-bestand. Hier wijzigt u toetsbindingen en toetsaanslagen. U kunt instellen hoe u op de opdrachtregel bewerkt. Standaard is emacs-stijlbewerking, maar u kunt dat wijzigen in vi-stijl.

Enkele voorbeelden van aan te brengen wijzigingen.

Werk je prompt bij... Om je prompt er mooier uit te laten zien of om meer informatie over te brengen, kun je de waarden van PS1 wijzigen. Ten eerste kunt u controleren welke waarde u al heeft.

$ echo $ PS1

Het resultaat ziet er een beetje cryptisch uit, tenzij je het op een string hebt gezet. Probeer het:

$ PS1 = "Cool prompt!"

Dit is niet erg handig, u kunt in plaats daarvan waarden instellen die u informeren over wat er in uw systeem gebeurt. Hier is een korte tabel met enkele waarden:

\u Huidige gebruikersnaam
\h Huidige hostnaam
\w Huidige werkmap
\s Naam van de schaal
\t Tijd in 24-uurs formaat

Stel als uitdaging uw prompt in om uw gebruikersnaam en hostnaam correct te markeren met het ampersand. U kunt ook door het systeem gedefinieerde variabelen en zelfs de uitvoer van scripts gebruiken. Stel een kleurenschema in... U kunt uw uitvoer in kleur hebben en ook verschillende kleuren voor elk type bestanden. Maak eerst een kleurrijke prompt. De kleur kan tijdens de prompt veranderen. Om een ​​nieuwe kleur te starten, voegt u '\e[x,ym' och stoppa med '\e[m . toe. Hier is een voorbeeld.

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

umask, hoe het werkt... In de shell heb je een instelling genaamd 'umask', het stelt in hoe bestanden permissies worden ingesteld wanneer je ze aanmaakt. De meest voorkomende waarde is 022. Dit zorgt ervoor dat bestanden machtigingen hebben waarmee gebruikers kunnen lezen en schrijven en alle anderen alleen-lezen. Op deze manier moet u nieuwe scriptbestanden wijzigen in uitvoerbaar als een afzonderlijke actie. Dit is een veilige manier om met bestanden om te gaan.

functiedefinities... U kunt ook functies opnemen, het formaat hiervan kan POSIX-compatibel zijn of bash. Als je van plan bent om tussen shells te wisselen, zoek dan op hoe je compliant kunt blijven. U kunt ook een script uitvoeren in de prompt.

#!/bin/bash
# lsbytesum - het aantal bytes in een directorylijst
TotaalBytes=0
voor Bytes in $(ls -l | grep "^-" | awk ' print $5 ')
Doen
TotalBytes=$TotalBytes+$Bytes
gedaan
TotalMeg=$(echo -e "\n$TotalBytes/1048576 \nquit" | bc)
echo -n "$TotalMeg"

Als je de bovenstaande code hebt (tegoed voor TLDP), kun je deze in je prompt aanroepen (PS1). Om het in te stellen voeg je dit toe aan je bashrc.

$ PS1="[\[email protected]\h:\w (\$(lsbytes) Mb)]\$ "

Je kunt het natuurlijk handmatig uitvoeren om te zien of je het eerst leuk vindt. Er zijn geen kleuren in deze stijl, je moet veel verschillende instellingen combineren.

Als je eenmaal hebt besloten wat je wilt, moet je de waarden in je .bashrc-bestand.

Conclusie

Bash heeft veel functies die je kunt gebruiken om je omgeving beter te laten werken. Je kunt veel banen sneller maken als je hebt geleerd hoe je efficiënt kunt werken. Een manier is om aliassen te maken, een andere is om je eigen scripts te maken. Het kan zeer gunstig zijn voor uw efficiëntie, als u de tijd neemt om voorbij de initiële barrière te klimmen.

Hoe een spel op Linux te ontwikkelen
Tien jaar geleden zouden niet veel Linux-gebruikers voorspellen dat hun favoriete besturingssysteem ooit een populair spelplatform voor commerciële vi...
Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...