fish-shell / fish-shell

fish är ett smart och användarvänligt kommandoradsskal för macOS, Linux och resten av familjen. fish innehåller funktioner som syntaxhighlighting, autosuggest-as-you-type och fancy tabkompletteringar som bara fungerar, utan att någon konfiguration krävs.

För mer information om fish designfilosofi, se designdokumentet.

Snabbstart

fish fungerar i allmänhet som andra skal, som bash eller zsh. Några viktiga skillnader kan hittas påhttps://fishshell.com/docs/current/tutorial.html genom att söka efter den magiska frasen ”unlike other shells”.

Detaljerad användardokumentation finns tillgänglig genom att köra help inomfish, och även på https://fishshell.com/docs/current/index.html

Du kan snabbt leka med fish direkt i din webbläsare genom att klicka påknappen nedan:

Få tag på fish

macOS

fish kan installeras:

  • med Homebrew: brew install fish
  • med hjälp av MacPorts:sudo port install fish
  • med hjälp av installationsprogrammet från fishshell.com
  • som en fristående app från fishshell.com

Paket för Linux

Paket för Debian, Fedora, openSUSE och Red Hat EnterpriseLinux/CentOS är tillgängliga från openSUSE BuildService.

Paket för Ubuntu finns tillgängliga från fishPPA och kan installeras med följande kommandon:

sudo apt-add-repository ppa:fish-shell/release-3sudo apt-get updatesudo apt-get install fish

Instruktioner för andra distributioner finns påfishshell.com.

Windows

  • På Windows 10 kan fish installeras under WSL Windows Subsystem for Linux med instruktionerna för lämplig distribution som listas ovan under ”Packages for Linux”, eller från källkod med instruktionerna nedan.
  • Fish kan också installeras på alla versioner av Windows med hjälp av Cygwin (från kategorin Shells).

Bygga från källkod

Om paket inte finns tillgängliga för din plattform finns GPG-signerade tarballs tillgängliga från fishshell.com ochfish-shell onGitHub. Se avsnittetBygga för instruktioner.

Köra fish

När det är installerat, kör fish från ditt nuvarande skal för att prova fish!

Beroenden

Att köra fish kräver:

  • curses eller ncurses (förinstallerat på de flesta *nix-system)
  • några vanliga *nix-systemverktyg (för närvarande mktemp), utöver de grundläggande POSIX-verktygen (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname och sed minst, men hela coreutils plus find ochawk är att föredra)
  • Gettextbiblioteket, om det är kompilerat med stöd för översättning

Följande valfria funktioner har också särskilda krav:

  • Builtin-kommandon som har alternativet --help eller skriver ut bruksmeddelanden kräver ul och antingen nroff eller mandoc för visning
  • Automatisk generering av kompletteringar från manuella sidor kräver Python 3.5+
  • Värdet fish_config för webbkonfiguration kräver Python 3.5+ och en webbläsare
  • Systemets integrering av klippbordet (med standardinställningarna Ctrl-V och Ctrl-X) kräver antingen xsel, xclip,wl-copy/wl-paste eller pbcopy/pbpaste verktyg
  • Fullständiga kompletteringar för yarn och npm kräver all-the-package-names NPM-modulen

Växla till fish

Om du vill använda fish som ditt standardskal, använd följandekommando:

chsh -s /usr/local/bin/fish

chsh kommer att be dig om ditt lösenord och ändra ditt standardskal. (Ersätt /usr/local/bin/fish med den sökväg som fish installerades till, om den skiljer sig.) Logga ut och logga sedan in igen för att ändringarna ska träda i kraft.

Använd följande kommando om fish inte redan har lagts till i /etc/shellsför att tillåta fish att vara ditt inloggningsskal:

echo /usr/local/bin/fish | sudo tee -a /etc/shells

För att byta tillbaka ditt standardskal kan du köra chsh -s /bin/bash(ersätt /bin/bash med /bin/tcsh eller /bin/zsh beroende på vad som är lämpligt).

Byggnad

Beroenden

För att kompilera fish krävs:

  • en C++11-kompilator (g++ 4.8 eller senare, eller clang 3.3 eller senare)
  • CMake (version 3.2 eller senare)
  • en curses-implementering som ncurses (headers och bibliotek)
  • PCRE2 (headers och bibliotek) – en kopia ingår i fish
  • gettext (headers och bibliotek) – valfritt, för översättningsstöd

Sphinx är också ett frivilligt alternativ som krävs för att bygga dokumentationen från ett acloned git repository.

För att köra testsviten krävs dessutom Python 3.5+ och paketet pexpect.

Bygga från källkod (alla plattformar) – Makefile generator

För att installera i /usr/local, kör:

mkdir build; cd buildcmake ..makesudo make install

Installeringskatalogen kan ändras med hjälp av parametern-DCMAKE_INSTALL_PREFIX för cmake.

Bygga från källkod (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Ett Xcode-projekt kommer nu att finnas tillgängligt i underkatalogen build.Du kan öppna det med Xcode eller köra följande för att bygga och installera i/usr/local:

xcodebuildxcodebuild -scheme install

Installeringskatalogen kan ändras med hjälp av parametern-DCMAKE_INSTALL_PREFIX för cmake.

Hjälp, den byggde inte!

Om fish rapporterar att den inte kunde hitta curses, försök att installera ett cursesdevelopment-paket och bygg igen.

På Debian eller Ubuntu vill du:

sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext

På RedHat, CentOS eller Amazon EC2:

sudo yum install ncurses-devel

Bidra med ändringar till koden

Se Guide för utvecklare.

Kontakta oss

Frågor, kommentarer, skällsord och raserier kan skickas till den officiella fishmailing-listan på https://lists.sourceforge.net/lists/listinfo/fish-usersor och gå med på vår gitter.imchannel. Eller använd fishtag onStackoverflow för frågor relaterade till fish script och fishtag onSuperuser för alla andra frågor (t.ex. anpassning av färger, ändring av tangentbindningar).

Hittade du ett fel? Har du en fantastisk idé? Öppna en fråga.

Lämna ett svar

Din e-postadress kommer inte publiceras.