fish-shell / fish-shell

fish jest inteligentną i przyjazną dla użytkownika powłoką wiersza poleceń dla macOS, Linuksa i reszty rodziny. fish zawiera funkcje takie jak podświetlanie składni, autosugestie i wymyślne uzupełnienia tabulatorów, które po prostu działają, bez konieczności konfiguracji.

Więcej na temat filozofii projektowania fish, zobacz designdocument.

Szybki start

fish generalnie działa jak inne powłoki, takie jak bash czy zsh. Kilka istotnych różnic można znaleźć na stroniehttps://fishshell.com/docs/current/tutorial.html, szukając magicznej frazy „unlike other shells”.

Szczegółowa dokumentacja użytkownika jest dostępna po uruchomieniu helpw obrębie fish, a także pod adresem https://fishshell.com/docs/current/index.html

Możesz szybko pobawić się z fish bezpośrednio w przeglądarce, klikając poniższy przycisk:

Pobieranie fish

macOS

fish można zainstalować:

  • używając Homebrew: brew install fish
  • używając MacPorts:sudo port install fish
  • używając instalatora z fishshell.com
  • jako samodzielną aplikację z fishshell.com

Pakiety dla Linuksa

Pakiety dla Debiana, Fedory, openSUSE i Red Hat EnterpriseLinux/CentOS są dostępne z openSUSE BuildService.

Pakiety dla Ubuntu są dostępne z fishPPA i mogą być zainstalowane za pomocą następujących poleceń:

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

Instrukcje dla innych dystrybucji można znaleźć na stronie fishshell.com.

Windows

  • Na Windows 10, fish może być zainstalowany w WSL Windows Subsystem for Linux z instrukcjami dla odpowiedniej dystrybucji wymienionej powyżej w „Packages for Linux”, lub ze źródła z poniższymi instrukcjami.
  • Fish może być również zainstalowany na wszystkich wersjach Windows przy użyciuCygwin (z kategorii Shells).

Budowanie ze źródła

Jeśli pakiety nie są dostępne dla twojej platformy, kulki tar z podpisem GPG są dostępne na fishshell.com ifish-shell naGitHub. Zobacz sekcjęBuilding, aby uzyskać instrukcje.

Uruchamianie fish

Po zainstalowaniu, uruchom fishz bieżącej powłoki, aby wypróbować fish!

Zależności

Uruchomienie fish wymaga:

  • curses lub ncurses (preinstalowane w większości systemów *nix)
  • niektórych popularnych narzędzi systemowych *nix (obecnie mktemp), oprócz podstawowych narzędzi POSIX (cat, cut, dirname,ls, mkdir, mkfifo, rm, sort, tee, tr,uname i sed co najmniej, ale preferowane jest pełne coreutils plus find iawk)
  • Biblioteka gettext, jeśli skompilowana z obsługą translacji

Następujące opcjonalne funkcje również mają określone wymagania:

  • polecenia wbudowane, które mają opcję --help lub drukują komunikaty usagemessages, wymagają ul i albo nroff albo mandoc fordisplay
  • automatyczne generowanie uzupełnień ze stron podręcznika wymaga Pythona 3.5+
  • narzędzie fish_configdo konfiguracji sieciowej wymaga Pythona 3.5+ i przeglądarki internetowej
  • integracja schowka systemowego (z domyślnymi przypisaniami Ctrl-V i Ctrl-X) wymaga modułów xsel, xclip,wl-copy/wl-paste lub pbcopy/pbpaste narzędzi
  • pełne uzupełnienia dla yarn i npm wymagają modułuall-the-package-names NPM

Przełączanie na fish

Jeśli chcesz używać fish jako domyślnej powłoki, użyj następującego polecenia:

chsh -s /usr/local/bin/fish

chsh spowoduje wyświetlenie monitu o podanie hasła i zmianę domyślnej powłoki. (Zastąp /usr/local/bin/fish ścieżką, do której zainstalowano fish, jeśli się różni.) Wyloguj się, a następnie zaloguj się ponownie, aby zmiany zaczęły obowiązywać.

Użyj następującego polecenia, jeśli fish nie jest jeszcze dodane do /etc/shells, aby zezwolić fish na bycie twoją powłoką logowania:

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

Aby przełączyć domyślną powłokę z powrotem, możesz uruchomić chsh -s /bin/bash (zastępując /bin/bash przez /bin/tcsh lub /bin/zsh odpowiednio).

Budowanie

Zależności

Kompilacja fish wymaga:

  • kompilatora C++11 (g++ 4.8 lub nowszy, lub clang 3.3 lub nowszy)
  • CMake (wersja 3.2 lub nowsza)
  • a implementacja curses, taka jak ncurses (nagłówki i biblioteki)
  • PCRE2 (nagłówki i biblioteki) – kopia jest dołączona do fish
  • gettext (nagłówki i biblioteki) – opcjonalnie, dla wsparcia tłumaczenia

Sphinx jest również opcjonalnie wymagany do budowania dokumentacji z dołączonego repozytorium git.

Dodatkowo, uruchomienie zestawu testów wymaga Pythona 3.5+ i pakietu pexpect.

Budowanie ze źródła (wszystkie platformy) – generator Makefile

Aby zainstalować w /usr/local, uruchom:

mkdir build; cd buildcmake ..makesudo make install

Katalog instalacyjny można zmienić za pomocą parametru-DCMAKE_INSTALL_PREFIX dla cmake.

Budowanie ze źródła (macOS) – Xcode

mkdir build; cd buildcmake .. -G Xcode

Projekt Xcode będzie teraz dostępny w podkatalogu build.Można go otworzyć za pomocą Xcode lub uruchomić poniższe polecenie, aby zbudować i zainstalować w/usr/local:

xcodebuildxcodebuild -scheme install

Katalog instalacyjny można zmienić za pomocą-DCMAKE_INSTALL_PREFIX parametru dla cmake.

Help, it didn’t build!

Jeśli fish zgłasza, że nie może znaleźć curses, spróbuj zainstalować pakiet cursesdevelopment i zbuduj ponownie.

Na Debianie lub Ubuntu chcesz:

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

Na RedHat, CentOS, lub Amazon EC2:

sudo yum install ncurses-devel

Wprowadzanie zmian do kodu

Zobacz Przewodnik dla programistów.

Skontaktuj się z nami

Pytania, komentarze, gawędy i złorzeczenia można wysyłać na oficjalną listę fishmailingową pod adresem https://lists.sourceforge.net/lists/listinfo/fish-usersor dołącz do nas na naszym kanale gitter.imchannel. Możesz też użyć tagu fishtag onStackoverflow dla pytań związanych ze skryptem fish oraz tagu fish onSuperuser dla wszystkich innych pytań (np. dostosowywanie kolorów, zmiana przypisań klawiszy).

Znalazłeś błąd? Masz świetny pomysł? Proszę otworzyć temat.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.