fish-shell / fish-shell

fish er en smart og brugervenlig kommandolinjeskal til macOS, Linux og resten af familien. fish indeholder funktioner som syntaxhighlighting, autosuggest-as-you-type og smarte tabulaturforlængelser, der bare virker, uden at det kræver nogen konfiguration.

For mere om fish’s designfilosofi, se designdokumentet.

Hurtigstart

fish fungerer generelt som andre shells, som bash eller zsh. Et par vigtige forskelle kan findes påhttps://fishshell.com/docs/current/tutorial.html ved at søge efter den magiske sætning “unlike other shells”.

Detaljeret brugerdokumentation er tilgængelig ved at køre help indenforfish, og også på https://fishshell.com/docs/current/index.html

Du kan hurtigt lege med fish direkte i din browser ved at klikke på knappen nedenfor:

Få fat i fish

macOS

fish kan installeres:

  • ved hjælp af Homebrew: brew install fish
  • ved hjælp af MacPorts:sudo port install fish
  • ved hjælp af installationsprogrammet fra fishshell.com
  • som en selvstændig app fra fishshell.com

Pakker til Linux

Pakker til Debian, Fedora, openSUSE og Red Hat EnterpriseLinux/CentOS er tilgængelige fra openSUSE BuildService.

Pakker til Ubuntu er tilgængelige fra fishPPA,og kan installeres ved hjælp af følgende kommandoer:

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

Instruktioner for andre distributioner kan findes påfishshell.com.

Windows

  • På Windows 10 kan fish installeres under WSL Windows Subsystemfor Linux med instruktionerne for den relevante distribution, der er anført ovenfor under “Pakker til Linux”, eller fra kildekode med instruktionerne nedenfor.
  • Fish kan også installeres på alle versioner af Windows ved hjælp afCygwin (fra kategorien Shells).

Bygning fra kildekode

Hvis pakker ikke er tilgængelige for din platform, er GPG-signerede tarballs tilgængelige fra fishshell.com ogfish-shell påGitHub. Se afsnittetBuilding for instruktioner.

Kørsel af fish

Når det er installeret, kan du køre fish fra din nuværende shell for at prøve fish af!

Afhængigheder

Kørsel af fish kræver:

  • curses eller ncurses (forudinstalleret på de fleste *nix-systemer)
  • nogle almindelige *nix-systemværktøjer (i øjeblikket mktemp), ud over de grundlæggende POSIX-værktøjer (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname og sed mindst, men det fulde coreutils plus find ogawk foretrækkes)
  • Gettext-biblioteket, hvis det er kompileret medoversættelsesstøtte

De følgende valgfrie funktioner har også specifikke krav:

  • Builtin-kommandoer, der har indstillingen --help eller udskriver brugermeddelelser, kræver ul og enten nroff eller mandoc til visning
  • Automatisk generering af færdiggørelse fra manuelle sider kræver Python 3.5+
  • det fish_configwebkonfigurationsværktøj kræver Python 3.5+ og en webbrowser
  • systemets integration af udklipsholderen (med standard Ctrl-V og Ctrl-Xbindinger) kræver enten xsel, xclip,wl-copy/wl-paste eller pbcopy/pbpaste hjælpeprogrammer
  • fuldstændige færdiggørelser for yarn og npm kræverall-the-package-names NPM-modulet

Skift til fish

Hvis du ønsker at bruge fish som din standardskal, skal du bruge følgendekommando:

chsh -s /usr/local/bin/fish

chsh vil bede dig om din adgangskode og ændre din standardskal. (Erstat /usr/local/bin/fish med den sti, som fish blev installeret på, hvis den er forskellig.) Log ud, og log derefter ind igen, for at ændringerne træder i kraft.

Brug følgende kommando, hvis fish ikke allerede er tilføjet til /etc/shells, for at tillade fish at være din login shell:

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

For at skifte din standard shell tilbage, kan du køre chsh -s /bin/bash(erstat /bin/bash med /bin/tcsh eller /bin/zsh, alt efter hvad der er passende).

Opbygning

Afhængigheder

Kompilering af fish kræver:

  • en C++11-kompiler (g++ 4.8 eller nyere, eller clang 3.3 eller nyere)
  • CMake (version 3.2 eller nyere)
  • en curses-implementering såsom ncurses (headers og biblioteker)
  • PCRE2 (headers og biblioteker) – en kopi er inkluderet med fish
  • gettext (headers og biblioteker) – valgfrit, til oversættelsesunderstøttelse

Sphinx er også valgfrit påkrævet for at bygge dokumentationen fra et acloned git-repository.

Det kræver desuden Python 3.5+ og pakken pexpect for at køre testpakken.

Opbygning fra kildekode (alle platforme) – Makefile generator

For at installere i /usr/local, skal du køre:

mkdir build; cd buildcmake ..makesudo make install

Installationsmappen kan ændres ved hjælp af-DCMAKE_INSTALL_PREFIX-parameteren for cmake.

Opbygning fra kildekode (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Der vil nu være et Xcode-projekt tilgængeligt i undermappen build. Du kan åbne det med Xcode eller køre følgende for at bygge og installere i/usr/local:

xcodebuildxcodebuild -scheme install

Installationsmappen kan ændres ved hjælp af-DCMAKE_INSTALL_PREFIX-parameteren for cmake.

Hjælp, den blev ikke bygget!

Hvis fish rapporterer, at den ikke kunne finde curses, så prøv at installere en cursesdevelopment-pakke og byg igen.

På Debian eller Ubuntu vil 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

Bidrage med ændringer til koden

Se Vejledning for udviklere.

Kontakt os

Spørgsmål, kommentarer, skældsord og raserier kan sendes til den officielle fishmailing-liste på https://lists.sourceforge.net/lists/listinfo/fish-usersor Deltag på vores gitter.imchannel. Eller brug fishtag onStackoverflow til spørgsmål relateret til fish script og fishtag onSuperuser til alle andre spørgsmål (f.eks. tilpasning af farver, ændring af key bindings).

Fandt du en fejl? Har du en fantastisk idé? Åbn venligst et problem.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.