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
ochsed
minst, men hela coreutils plusfind
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äverul
och antingennroff
ellermandoc
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
ellerpbcopy
/pbpaste
verktyg - Fullständiga kompletteringar för
yarn
ochnpm
kräverall-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/shells
fö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.