fish-shell / fish-shell

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

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 und sed mindestens, aber die vollständigen coreutils plus find 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ötigen ul und entweder nroff oder mandoc für die Anzeige
  • Automatische Vervollständigung von Handbuchseiten erfordert Python 3.5+
  • das fish_configWebkonfigurationswerkzeug 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 oder pbcopy/pbpaste Dienstprogramme
  • Vollständige Vervollständigungen für yarn und npm 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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.