fish-shell / fish-shell

fish este un shell de linie de comandă inteligent și ușor de utilizat pentru macOS, Linux și restul familiei. fish include caracteristici precum syntaxhighlighting, autosuggest-as-you-type și completări de tabulare fanteziste care funcționează pur și simplu, fără a fi nevoie de configurare.

Pentru mai multe informații despre filozofia de proiectare a lui fish, consultați designdocument.

Quick Start

fish funcționează în general ca și alte shell-uri, cum ar fi bash sau zsh. Câtevadiferențe importante pot fi găsite lahttps://fishshell.com/docs/current/tutorial.html căutând expresia magică „unlike other shells”.

Documentația detaliată a utilizatorului este disponibilă rulând help în interiorul luifish, și, de asemenea, la https://fishshell.com/docs/current/index.html

Puteți să vă jucați rapid cu fish chiar în browserul dvs. făcând clic pe butonul de mai jos:

Getting fish

macOS

fish poate fi instalat:

  • folosind Homebrew: brew install fish
  • folosind MacPorts:sudo port install fish
  • folosind programul de instalare de pe fishshell.com
  • ca aplicație de sine stătătoare de pe fishshell.com

Pachete pentru Linux

Pachete pentru Debian, Fedora, openSUSE și Red Hat EnterpriseLinux/CentOS sunt disponibile la openSUSE BuildService.

Pachetele pentru Ubuntu sunt disponibile de la fishPPA,și pot fi instalate folosind următoarele comenzi:

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

Instrucțiuni pentru alte distribuții pot fi găsite la fishshell.com.

Windows

  • Pe Windows 10, fish poate fi instalat sub Subsistemul WSL Windowspentru Linux cu instrucțiunile pentru distribuția corespunzătoareenumerate mai sus la „Pachete pentru Linux”, sau de la sursă cuinstrucțiunile de mai jos.
  • Fish poate fi, de asemenea, instalat pe toate versiunile de Windows folosindCygwin (din categoria Shells).

Construirea de la sursă

Dacă pachetele nu sunt disponibile pentru platforma dumneavoastră, sunt disponibile tarball-uri semnate GPG la fishshell.com șifish-shell peGitHub. Consultați secțiuneaBuilding pentru instrucțiuni.

Rularea fish

După ce a fost instalat, rulați fish din shell-ul dvs. curent pentru a încerca fish!

Dependențe

Executarea lui fish necesită:

  • curses sau ncurses (preinstalat pe majoritatea sistemelor *nix)
  • unele utilități comune ale sistemului *nix (în prezent mktemp), în plus față de utilitățile de bază POSIX (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname și sed cel puțin, dar este de preferat coreutils complet plus find șiawk)
  • Librăria gettext, dacă este compilată cu suport pentru traducere

Următoarele caracteristici opționale au, de asemenea, cerințe specifice:

  • comandațiile de compilare care au opțiunea --help sau imprimă mesaje de utilizare necesită ul și fie nroff, fie mandoc pentru afișare
  • generarea automatizată a completărilor din paginile de manual necesită Python 3.5+
  • instrumentul de configurare web fish_config necesită Python 3.5+ și un browser web
  • integrarea clipboard-ului de sistem (cu legăturile implicite Ctrl-V și Ctrl-X) necesită fie xsel, fie xclip,wl-copy/wl-paste sau pbcopy/pbpaste utilitarele
  • completările complete pentru yarn și npm necesită modululall-the-package-names NPM

Trecerea la fish

Dacă doriți să utilizați fish ca shell implicit, utilizați următoareacomandă:

chsh -s /usr/local/bin/fish

chsh vă va cere parola și vă va schimba shell-ul implicit. (Înlocuiți /usr/local/bin/fish cu orice cale în care a fost instalat fish, dacă este diferită.) Deconectați-vă, apoi conectați-vă din nou pentru ca modificările să aibă efect.

Utilizați următoarea comandă dacă fish nu este deja adăugat la /etc/shellspentru a permite ca fish să fie shell-ul dvs. de autentificare:

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

Pentru a vă schimba shell-ul implicit înapoi, puteți rula chsh -s /bin/bash(înlocuind /bin/bash cu /bin/tcsh sau /bin/zsh, după caz).

Construire

Dependențe

Compilarea lui fish necesită:

  • un compilator C++11 (g++ 4.8 sau mai târziu, sau clang 3.3 sau mai târziu)
  • CMake (versiunea 3.2 sau o versiune ulterioară)
  • o implementare curses, cum ar fi ncurses (antete și biblioteci)
  • PCRE2 (antete și biblioteci) – o copie este inclusă cu fish
  • gettext (antete și biblioteci) – opțional, pentru suportul de traducere

Sphinx este, de asemenea, opțional necesar pentru a construi documentația din depozitul git aclonat.

În plus, rularea suitei de teste necesită Python 3.5+ și pachetul pexpect.

Construirea din sursă (toate platformele) – Makefile generator

Pentru a instala în /usr/local, executați:

mkdir build; cd buildcmake ..makesudo make install

Directorul de instalare poate fi schimbat folosind parametrul-DCMAKE_INSTALL_PREFIX pentru cmake.

Construire din sursă (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Un proiect Xcode va fi acum disponibil în subdirectorul build. îl puteți deschide cu Xcode, sau executați următoarele pentru a construi și instala în/usr/local:

xcodebuildxcodebuild -scheme install

Directorul de instalare poate fi schimbat folosind parametrul-DCMAKE_INSTALL_PREFIX pentru cmake.

Ajutor, nu s-a construit!

Dacă fish raportează că nu a putut găsi curses, încercați să instalați un pachet cursesdevelopment și construiți din nou.

Pe Debian sau Ubuntu doriți:

sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext

Pe RedHat, CentOS, sau Amazon EC2:

sudo yum install ncurses-devel

Contribuirea modificărilor la cod

Vezi Ghidul pentru dezvoltatori.

Contactați-ne

Întrebări, comentarii, vociferări și dezlănțuiri pot fi postate pe lista oficială fishmailing la https://lists.sourceforge.net/lists/listinfo/fish-usersor alăturați-vă nouă pe canalul nostru gitter.imchannel. Sau folosiți eticheta fishtag onStackoverflow pentruîntrebări legate de scriptul fish și eticheta fish tag onSuperuser pentru toate celelalte întrebări (de exemplu, personalizarea culorilor, schimbarea legăturilor de taste).

Ați găsit un bug? Aveți o idee nemaipomenită? Vă rugăm să deschideți unissue.

Lasă un răspuns

Adresa ta de email nu va fi publicată.