Bash

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

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