fish ist eine intelligente und benutzerfreundliche Kommandozeilen-Shell für macOS, Linux und den Rest der Familie. fish enthält Funktionen wie Syntaxhighlighting, Autosuggest-as-you-type und ausgefallene Tabulatorvervollständigungen, die einfach funktionieren, ohne dass eine Konfiguration erforderlich ist.
Für mehr über die Designphilosophie von fish, siehe das Designdokument.
- Schnellstart
- Getting fish
- macOS
- Pakete für Linux
- Windows
- Aus dem Quellcode bauen
- Ausführen von fish
- Abhängigkeiten
- Wechsel zu fish
- Bauen
- Abhängigkeiten
- Bauen aus dem Quellcode (alle Plattformen) – Makefile Generator
- Bauen aus dem Quellcode (macOS) – Xcode
- Hilfe, es wurde nicht gebaut!
- Änderungen am Code beitragen
- Kontaktieren Sie uns
Schnellstart
fish funktioniert im Allgemeinen wie andere Shells, wie bash oder zsh. Ein paar wichtige Unterschiede finden sich unterhttps://fishshell.com/docs/current/tutorial.html, wenn man nach der magischen Phrase „unlike other shells“ sucht.
Detaillierte Benutzerdokumentation ist verfügbar, indem man help
innerhalb vonfish ausführt, und auch unter https://fishshell.com/docs/current/index.html
Sie können schnell mit fish direkt in Ihrem Browser spielen, indem Sie auf den folgenden Button klicken:
Getting fish
macOS
fish kann installiert werden:
- unter Verwendung von Homebrew:
brew install fish
- mit MacPorts:
sudo port install fish
- mit dem Installer von fishshell.com
- als eigenständige App von fishshell.com
Pakete für Linux
Pakete für Debian, Fedora, openSUSE und Red Hat EnterpriseLinux/CentOS sind über den openSUSE BuildService erhältlich.
Pakete für Ubuntu sind über das fishPPA erhältlich und können mit den folgenden Befehlen installiert werden:
sudo apt-add-repository ppa:fish-shell/release-3sudo apt-get updatesudo apt-get install fish
Anleitungen für andere Distributionen finden Sie unterfishshell.com.
Windows
- Unter Windows 10 kann fish unter dem WSL Windows Subsystem für Linux mit den oben unter „Pakete für Linux“ aufgeführten Anweisungen für die entsprechende Distribution oder aus dem Quellcode mit den unten stehenden Anweisungen installiert werden.
- Fish kann auch auf allen Versionen von Windows mitCygwin (aus der Kategorie Shells) installiert werden.
Aus dem Quellcode bauen
Wenn für Ihre Plattform keine Pakete verfügbar sind, sind GPG-signierte Tarballs von fishshell.com undfish-shell aufGitHub erhältlich. Siehe den AbschnittBuilding für Anweisungen.
Ausführen von fish
Nach der Installation führen Sie fish
aus Ihrer aktuellen Shell aus, um fish auszuprobieren!
Abhängigkeiten
Für die Ausführung von fish wird benötigt:
- curses oder ncurses (auf den meisten *nix Systemen vorinstalliert)
- einige gängige *nix System Utilities (derzeit
mktemp
), zusätzlich zu den grundlegenden POSIX Utilities (cat
,cut
,dirname
,ls
,mkdir
,mkfifo
,rm
,sort
,tee
,tr
,uname
undsed
mindestens, aber die vollständigen coreutils plusfind
undawk
werden bevorzugt) - Die gettext-Bibliothek, wenn sie mitÜbersetzungsunterstützung kompiliert wurde
Die folgenden optionalen Funktionen haben ebenfalls spezifische Anforderungen:
- Kompilierte Befehle, die die Option
--help
haben oder Gebrauchsmeldungen ausgeben, benötigenul
und entwedernroff
odermandoc
für die Anzeige - Automatische Vervollständigung von Handbuchseiten erfordert Python 3.5+
- das
fish_config
Webkonfigurationswerkzeug erfordert Python 3.5+ und einen Webbrowser - System-Zwischenablage-Integration (mit den Standard-Ctrl-V und Ctrl-X-Bindungen) erfordern entweder die
xsel
,xclip
,wl-copy
/wl-paste
oderpbcopy
/pbpaste
Dienstprogramme - Vollständige Vervollständigungen für
yarn
undnpm
erfordern dasall-the-package-names
NPM-Modul
Wechsel zu fish
Wenn Sie fish als Standard-Shell verwenden möchten, verwenden Sie den folgendenBefehl:
chsh -s /usr/local/bin/fish
chsh
wird Sie nach Ihrem Passwort fragen und Ihre Standardshell ändern. (Ersetzen Sie /usr/local/bin/fish
durch den Pfad, unter dem fish installiert wurde, falls dieser abweicht.) Melden Sie sich ab und dann wieder an, damit die Änderungen wirksam werden.
Verwenden Sie den folgenden Befehl, wenn fish noch nicht zu /etc/shells
hinzugefügt wurde, um fish als Anmeldeshell zuzulassen:
echo /usr/local/bin/fish | sudo tee -a /etc/shells
Um Ihre Standardshell zurückzuschalten, können Sie chsh -s /bin/bash
ausführen (ersetzen Sie /bin/bash
durch /bin/tcsh
oder /bin/zsh
, falls zutreffend).
Bauen
Abhängigkeiten
Das Kompilieren von fish erfordert:
- einen C++11 Compiler (g++ 4.8 oder höher, oder clang 3.3 oder höher)
- CMake (Version 3.2 oder höher)
- eine Curses-Implementierung wie ncurses (Header und Bibliotheken)
- PCRE2 (Header und Bibliotheken) – eine Kopie ist in fish enthalten
- gettext (Header und Bibliotheken) – optional, für Übersetzungsunterstützung
Sphinx ist ebenfalls optional erforderlich, um die Dokumentation aus einem geklonten Git-Repository zu erstellen.
Zusätzlich erfordert die Ausführung der Testsuite Python 3.5+ und das Paket pexpect.
Bauen aus dem Quellcode (alle Plattformen) – Makefile Generator
Um in /usr/local
zu installieren, führen Sie aus:
mkdir build; cd buildcmake ..makesudo make install
Das Installationsverzeichnis kann mit dem-DCMAKE_INSTALL_PREFIX
Parameter für cmake
geändert werden.
Bauen aus dem Quellcode (macOS) – Xcode
mkdir build; cd buildcmake .. -G Xcode
Im Unterverzeichnis build
ist nun ein Xcode-Projekt verfügbar, das mit Xcode geöffnet werden kann, oder Sie führen den folgenden Befehl aus, um es in/usr/local
zu bauen und zu installieren:
xcodebuildxcodebuild -scheme install
Das Installationsverzeichnis kann mit dem Parameter-DCMAKE_INSTALL_PREFIX
für cmake
geändert werden.
Hilfe, es wurde nicht gebaut!
Wenn fish meldet, dass es Curses nicht finden konnte, versuchen Sie, ein Cursesdevelopment-Paket zu installieren und erneut zu bauen.
Auf Debian oder Ubuntu wollen Sie:
sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext
Auf RedHat, CentOS, oder Amazon EC2:
sudo yum install ncurses-devel
Änderungen am Code beitragen
Siehe den Leitfaden für Entwickler.
Kontaktieren Sie uns
Fragen, Kommentare, Tiraden und Wutausbrüche können an die offizielle Fishmailing-Liste https://lists.sourceforge.net/lists/listinfo/fish-usersor gesendet werden, schließen Sie sich uns auf unserem gitter.imchannel an. Oder verwende das fish-Tag aufStackoverflow für Fragen zum Fish-Skript und das fish-Tag aufSuperuser für alle anderen Fragen (z.B. Anpassen von Farben, Ändern von Tastaturbelegungen).
Hast du einen Fehler gefunden? Hast du eine geniale Idee? Bitte eröffne ein Thema.