[[Vorlage(Getestet, focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] }}} [[Inhaltsverzeichnis(1)]] Die '''f'''riendly '''i'''nteractive '''sh'''ell (fish) hat diese Merkmale: * Befehle werden farbig markiert (Syntax Highlighting) * Während der Eingabe werden die Zeichen für vorhandene Befehle ergänzt und vorgeschlagen * Tippfehler werden schon während der Eingabe angezeigt * Die Befehlszeilenergänzung (tab completion) listet die möglichen Befehle inklusive kurzer Funktionsbeschreibung ein, sofern eine Beschreibungs-Zeile aus einer man-Page vorliegt. * Die Durchführung von Berechnungen auf Shellebene ist mit bis zu sechs Nachkommastellen möglich * Integration des Zwischenspeichers, z.B. mit [[Vorlage(Tasten, strg+y)]] aus dem Zwischenspeicher einfügen und [[Vorlage(Tasten, strg+k)]], um den Rest der Zeile in den Zwischenspeicher zu übernehmen {{{#!vorlage Hinweis Die Shell '''fish''' bitte nicht mit dem [:SSH#KDE-Kubuntu:fish]-Protokoll verwechseln - hierbei handelt es sich um ein Protokoll zur verschlüsselten Datenübertragung via SSH, das unter anderem bei KDE Verwendung findet. }}} = Installation = Die Installation [1] erfolgt mittels des Pakets: {{{#!vorlage Paketinstallation fish, universe }}} == Zur Standardshell machen == Um Fish zur Standardshell zu machen, ist folgender Befehl nötig: {{{#!vorlage Befehl chsh -s /usr/bin/fish }}} Rückgängig macht man dies - z.B. weil fish wieder deinstalliert werden soll - per: {{{#!vorlage Befehl chsh -s /bin/bash }}} = Benutzung = Die Dokumentation ist sehr umfangreich und gibt Hinweise auf die Benutzung, die bei Verwendung Shell-externer Befehle der Bash gleicht. Die man-Page gibt kaum Hinweise; jedoch ruft der Shell-interne Befehl '''help''' über den voreingestellten Browser die mitgelieferte HTML-Dokumentation in '''/usr/share/doc/fish/''' auf. Die Benutzerdokumentation inkl. aller Details der Skriptsprache findet sich auch in der [http://fishshell.com/docs/current/ Dokumentation] {en} auf der Homepage des Projekts. Die Shell lässt sich im Prinzip genauso skripten, und genauso in ausführbaren Programmen als Datei ablegen, wie es mit Bash-Skripten möglich ist. Die Fish-Skripte folgen einem [wikipedia:Modula-2:] ähnlichem Syntax. == Skripte == Im Gegensatz zur Bash ([wikipedia:Shebang:] `#!/bin/bash`) wird in in die erste Zeile `#!/usr/bin/fish` geschrieben. Den Vorteil, den die Fish-Shell beim Skripting bietet, ist der Ada/Modula-2 ähnliche Syntax, der in aufwändigen Skripten zu lesbareren Texten führen kann. Wie bei der Bash lassen sich UNIX-Befehle in Fish-Skripten aufrufen. Fish-Skripte lassen sich als ausführbare Programme verwenden, nachdem man sie mit [:chmod:] auf ausführbar gesetzt hat. Somit lassen sich Aufgaben ähnlich den Bash-Skripten automatisieren. Die Dokumentation im Internet dazu ist allerdings sehr spärlich, und beschränkt sich auf die relativ gute Dokumentation auf der Homepage des Projektes. = Links = * [http://www.fishshell.com/ Projektseite] {en} * [https://lists.sourceforge.net/lists/listinfo/fish-users Mailing-Liste] {en} * [github:fish-shell/fish-shell:Quellcode] {en} * [wikipedia_en:Friendly_interactive_shell: englische Wikipedia-Seite zur Fish Shell] * [http://hackercodex.com/guide/install-fish-shell-mac-ubuntu/#installing-fish-on-ubuntu Installing Fish on Ubuntu] {en} - Tipps zur Installation über ein PPA, 01/2013 * [http://lwn.net/Articles/136232/ Fish - The friendly interactive shell] {en} - Post zur Einführung, 05/2005 * [:Shell:] {Übersicht} Generelle Einführung in die Shell und in das Skripting # tag: Shell