Bash: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med 'Bash, eller "Bourne Again Shell," är en populär kommandotolk och ett skal för Unix-baserade operativsystem som Linux och macOS. Bash är en vidareutveckling av det ursprungliga Bourne Shell (sh) och är standardkommandotolken på många Unix-system. Här är en översiktlig beskrivning av Bash: 1. Kommandotolk: Bash är en textbaserad kommandotolk som tillåter användare att interagera med sina Unix-baserade system genom att skriva in textkommandon. Användaren skri...')
 
Ingen redigeringssammanfattning
 
Rad 1: Rad 1:
Bash, eller "Bourne Again Shell," är en populär kommandotolk och ett skal för Unix-baserade operativsystem som Linux och macOS. Bash är en vidareutveckling av det ursprungliga Bourne Shell (sh) och är standardkommandotolken på många Unix-system. Här är en översiktlig beskrivning av Bash:
== bash - GNU Bourne Again SHell ==
Kommandot `bash` är en fri version av Bourne Shell distribuerad med GNU-projektet och används i Unix-liknande operativsystem.


1. Kommandotolk: Bash är en textbaserad kommandotolk som tillåter användare att interagera med sina Unix-baserade system genom att skriva in textkommandon. Användaren skriver in kommandon och får textbaserade svar och resultat.
=== Syntax ===
bash [ALTERNATIV]... [SCRIPT-FIL]...


2. Skal: Bash fungerar som ett skal, vilket betyder att det tolkar kommandon och instruktioner från användaren och övervakar utförandet av program. Det är också ansvarig för att hantera och utföra olika systemuppgifter.
=== Beskrivning ===
`bash` är en kommandotolk och ett skriptspråk som erbjuder funktioner från både Bourne Shell och Korn Shell. Det är en av de vanligaste skalen i Unix-liknande system.


3. Scripting: Bash är kraftfullt för att skapa skript, det vill säga sekvenser av kommandon som kan köras automatiskt. Skript skrivna i Bash används ofta för att automatisera uppgifter och processer, vilket gör det populärt bland systemadministratörer och utvecklare.
=== Alternativ ===
Kommandot `bash` stöder flera alternativ som kan användas för att justera dess beteende och exekvering:


4. Variabler och miljö: Bash kan hantera variabler och miljövariabler, som används för att lagra och dela information mellan kommandon och skript. Detta gör det möjligt att skapa dynamiska och anpassningsbara skript.
* -c STR - Läs och kör kommandon från STR.
* -i - Interaktivt läge.
* -l - Kör som ett inloggningsskal.
* -r - Begränsat läge.
* -s - Läs kommandon från standardingången.
* -D - Skriv ut en lista över alla dubletter av funktioner efter läsning av skriptet.
* --debugger - Starta i felsökningsläge.
* --dump-po-strings - Skriv ut de tilldelade strängarna till standardutgången.
* --dump-strings - Skriv ut de tilldelade strängarna som C-format.
* --help - Visa hjälpmeddelande och avsluta.
* --init-file, --rcfile FIL - Kör kommandon från FIL istället för standard init-filer (~/.bashrc).
* --login - Kör som ett inloggningsskal.
* --noediting - Inaktivera radredigeringsfunktioner.
* --noprofile - Läs inte från någon av standardprofilfilerna (~/.bash_profile, ~/.bash_login, ~/.profile).
* --norc - Läs inte från någon av standardinit-filerna (~/.bashrc).
* --posix - Anpassa beteendet till POSIX-standarden.
* --restricted - Begränsat läge.
* --verbose - Skriv ut varje kommando innan det exekveras.
* --version - Visa versionsinformation och avsluta.


5. Skalhantering: Bash ger användaren möjlighet att byta skal (till exempel att använda Zsh istället för Bash), och det stöder även skalfunktioner som villkorliga uttryck, slingor, och mer.
=== Exempel ===
Här är några praktiska exempel som visar hur du kan använda `bash`-kommandot:


6. Autoutfyllning: Bash har autoutfyllningsfunktioner som gör det enklare att skriva kommandon genom att föreslå och slutföra kommandon, filnamn och kataloger med hjälp av tab-tangenten.
* För att starta en interaktiv bash-session:
<code>
bash
</code>


7. Historik och kommandorader: Bash sparar en historik över tidigare kommandon som användaren har skrivit. Detta gör det möjligt att bläddra genom och återanvända tidigare kommandon.
* För att köra ett kommando från en sträng:
<code>
bash -c "echo Hello, World!"
</code>


8. Skalprogrammering: Utöver en enkel kommandotolk stöder Bash även avancerad skalprogrammering med villkor, slingor och funktioner. Detta gör det användbart för att skapa mer komplexa och automatiserade arbetsflöden.
* För att köra ett skript från en fil:
<code>
bash script.sh
</code>


Bash är ett kraftfullt och mångsidigt verktyg för användare som arbetar Unix-baserade system. Det används av systemadministratörer för att administrera servrar, av utvecklare för att skapa skript och av användare för att utföra en mängd olika uppgifter. Bash är ett viktigt verktyg inom Unix-ekosystemet och erbjuder en effektiv och flexibel interaktion med operativsystemet.
* För att starta en interaktiv session som inloggningsskal:
[[Kategori:Basic nivå av Linux]]
<code>
bash --login
</code>
 
* För att köra ett skript i felsökningsläge:
<code>
bash --debugger script.sh
</code>
 
=== Skillnader mellan macOS och Linux ===
Det finns några viktiga skillnader att tänka på när man använder `bash` på macOS jämfört med Linux:
 
* **Versioner:** macOS levereras ofta med en äldre version av `bash` på grund av licensskäl. Den senaste versionen kan installeras via Homebrew med `brew install bash`.
* **Standardprofilfiler:** Standardprofilfiler kan skilja sig mellan macOS och Linux. På macOS kan t.ex. `~/.bash_profile` användas istället för `~/.bashrc` för interaktiva inloggningsskal.
* **Systemshell:** På macOS används ofta `zsh` som standardskal i nyare versioner, medan `bash` ofta är standardskal många Linux-distributioner.
 
Exempel på att installera senaste `bash` på macOS via Homebrew:
* För att installera och använda den senaste versionen av `bash`:
<code>
brew install bash
chsh -s /usr/local/bin/bash
</code>
 
Det är alltid bra att konsultera `man`-sidan för `bash` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.
 
=== Felsökning ===
Om du får ett felmeddelande när du använder `bash`, kontrollera följande:
 
* Att du använder rätt syntax och alternativ för ditt specifika kommando.
* Att skriptfiler du försöker köra är läsbara och har exekveringsrättigheter.
* Att du använder en kompatibel version av `bash` för de specifika funktioner du försöker använda.
 
=== Se även ===
* [[sh]] - Bourne shell, en äldre kommandotolk.
* [[zsh]] - Z shell, en avancerad kommandotolk.
* [[ksh]] - Korn shell, en annan populär kommandotolk.
* [[dash]] - Debian Almquist Shell, en mindre men snabbare kommandotolk.
 
=== Källor ===
* [https://www.gnu.org/software/bash/manual/bash.html GNU Bash manual]
* [https://man7.org/linux/man-pages/man1/bash.1.html bash manual (Linux)]
* [https://ss64.com/osx/bash.html bash manual (macOS)]
 
[[Kategori:Linuxkommandon]]

Nuvarande version från 27 maj 2024 kl. 16.06

bash - GNU Bourne Again SHell

Kommandot `bash` är en fri version av Bourne Shell distribuerad med GNU-projektet och används i Unix-liknande operativsystem.

Syntax

bash [ALTERNATIV]... [SCRIPT-FIL]...

Beskrivning

`bash` är en kommandotolk och ett skriptspråk som erbjuder funktioner från både Bourne Shell och Korn Shell. Det är en av de vanligaste skalen i Unix-liknande system.

Alternativ

Kommandot `bash` stöder flera alternativ som kan användas för att justera dess beteende och exekvering:

  • -c STR - Läs och kör kommandon från STR.
  • -i - Interaktivt läge.
  • -l - Kör som ett inloggningsskal.
  • -r - Begränsat läge.
  • -s - Läs kommandon från standardingången.
  • -D - Skriv ut en lista över alla dubletter av funktioner efter läsning av skriptet.
  • --debugger - Starta i felsökningsläge.
  • --dump-po-strings - Skriv ut de tilldelade strängarna till standardutgången.
  • --dump-strings - Skriv ut de tilldelade strängarna som C-format.
  • --help - Visa hjälpmeddelande och avsluta.
  • --init-file, --rcfile FIL - Kör kommandon från FIL istället för standard init-filer (~/.bashrc).
  • --login - Kör som ett inloggningsskal.
  • --noediting - Inaktivera radredigeringsfunktioner.
  • --noprofile - Läs inte från någon av standardprofilfilerna (~/.bash_profile, ~/.bash_login, ~/.profile).
  • --norc - Läs inte från någon av standardinit-filerna (~/.bashrc).
  • --posix - Anpassa beteendet till POSIX-standarden.
  • --restricted - Begränsat läge.
  • --verbose - Skriv ut varje kommando innan det exekveras.
  • --version - Visa versionsinformation och avsluta.

Exempel

Här är några praktiska exempel som visar hur du kan använda `bash`-kommandot:

  • För att starta en interaktiv bash-session:

bash

  • För att köra ett kommando från en sträng:

bash -c "echo Hello, World!"

  • För att köra ett skript från en fil:

bash script.sh

  • För att starta en interaktiv session som inloggningsskal:

bash --login

  • För att köra ett skript i felsökningsläge:

bash --debugger script.sh

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `bash` på macOS jämfört med Linux:

  • **Versioner:** macOS levereras ofta med en äldre version av `bash` på grund av licensskäl. Den senaste versionen kan installeras via Homebrew med `brew install bash`.
  • **Standardprofilfiler:** Standardprofilfiler kan skilja sig mellan macOS och Linux. På macOS kan t.ex. `~/.bash_profile` användas istället för `~/.bashrc` för interaktiva inloggningsskal.
  • **Systemshell:** På macOS används ofta `zsh` som standardskal i nyare versioner, medan `bash` ofta är standardskal på många Linux-distributioner.

Exempel på att installera senaste `bash` på macOS via Homebrew:

  • För att installera och använda den senaste versionen av `bash`:

brew install bash
chsh -s /usr/local/bin/bash

Det är alltid bra att konsultera `man`-sidan för `bash` på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `bash`, kontrollera följande:

  • Att du använder rätt syntax och alternativ för ditt specifika kommando.
  • Att skriptfiler du försöker köra är läsbara och har exekveringsrättigheter.
  • Att du använder en kompatibel version av `bash` för de specifika funktioner du försöker använda.

Se även

  • sh - Bourne shell, en äldre kommandotolk.
  • zsh - Z shell, en avancerad kommandotolk.
  • ksh - Korn shell, en annan populär kommandotolk.
  • dash - Debian Almquist Shell, en mindre men snabbare kommandotolk.

Källor