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.
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.