Acasă
» LINUX
»
Cum să treci de la Bash la Fish Shell pe Linux
Cum să treci de la Bash la Fish Shell pe Linux
Instalați Fish, confirmați că calea completă este listată în /etc/shells, apoi rulați comanda chsh -s "$(command -v fish)"pentru contul dvs. Deconectați-vă și reconectați-vă pentru a utiliza Fish în sesiuni noi de conectare. Pentru a-l încerca mai întâi, introduceți fish; enter exitpentru a reveni la Bash.
Fish are propria sintaxă și configurație; nu citește fișierele de pornire Bash. Scripturile cu un shebang Bash pot continua să ruleze cu Bash.
1. Instalați Fish
Folosește managerul de pachete al distribuției tale. Acestea sunt comenzi standard pentru pachetele Fish; consultă pagina oficială de instalare Fish pentru sursele pachetelor:
Ubuntu sau Debian:sudo apt install fish
Fedora:sudo dnf install fish
Arch Linux:sudo pacman -S fish
openSUSE:sudo zypper install fish
Pentru o altă distribuție, căutați în repozitoriile sale oficiale fish; managerul de pachete păstrează instalarea și actualizările într-un singur loc.
Alegeți comanda pentru distribuția dvs.; versiunile pachetului și rezultatul programului de instalare variază în funcție de repozitoriu.
2. Verificați calea lui Fish și intrarea permisă în shell
În terminalul Bash curent, găsiți executabilul și verificați dacă calea exactă apare în /etc/shells:
command -v fish
grep -Fx "$(command -v fish)" /etc/shells
Calea este adesea /usr/bin/fish, dar folosiți-o pe cea imprimată pe mașina dvs. A doua comandă ar trebui să returneze aceeași cale. Multe chshconfigurări acceptă doar shell-uri listate în /etc/shells, așa cum explică manualul chsh . Dacă nu există nicio potrivire, rugați administratorul să înregistreze calea instalată a lui Fish.
Calea afișată este un exemplu. Folosiți calea exactă raportată de instalarea dvs.
3. Încearcă peștele înainte de a-l seta ca meniu implicit
Începeți o sesiune interactivă Fish din Bash introducând:
fish
Încercați câteva comenzi de zi cu zi și observați evidențierea sintaxei, completarea cu tabulatori și autosugestiile. Apăsați Enter exitpentru a reveni la Bash. Tutorialul oficial Fish prezintă aceste funcții interactive.
Pornirea fishtestează doar pentru terminalul curent; nu modifică shell-ul de conectare al contului tău.
4. Setați Fish ca shell de conectare
Când verificarea căii are succes, executați acest cod din Bash ca și cont obișnuit:
chsh -s "$(command -v fish)"
Introduceți parola dacă vi se solicită. Nu utilizați sudo, care poate schimba shell-ul utilizatorului root în locul celei dvs. chshînregistrează shell-ul de conectare, dar nu modifică filele existente ale terminalului. Deconectați-vă din sesiunea desktop și reconectați-vă sau reconectați-vă la SSH. Dacă un terminal nou pornește în continuare Bash, verificați dacă profilul său forțează o comandă personalizată.
Rulează chshfără, sudoastfel încât modificarea să se aplice propriului cont.
5. Adăugați setările Fish în propriul fișier de configurare
Fish citește setările utilizatorului din ~/.config/fish/config.fish, nu din ~/.bashrc. Creați folderul și deschideți fișierul în editorul preferat; acest exemplu folosește Nano:
Folderul de configurare standard pentru Fish per utilizator este ~/.config/fish.
De exemplu, pentru a ascunde mesajul de întâmpinare al lui Fish, adăugați această comandă Fish în fișier:
set -g fish_greeting
Salvați fișierul, apoi porniți o nouă shell Fish pentru a-l încărca. De asemenea, puteți seta variabile de mediu exportate în sintaxa Fish, cum ar fi set -gx EDITOR nano. Întrebările frecvente despre Fish documentează setarea de întâmpinare și explică cum diferă fișierele de pornire Fish de fișierele Bash.
Folosește sintaxa Fish în config.fish; Asignările Bash, cum ar fi EDITOR=nanocomenzile de configurare Fish, nu sunt comenzi.
6. Personalizați solicitarea sau culorile
Execută fish_configpentru a deschide instrumentul de configurare web local al Fish, unde puteți răsfoi opțiunile de prompt și culoare. De asemenea, puteți lucra în terminal. De exemplu, listați temele cu fish_config theme list. Pentru a previzualiza și salva un prompt exemplu, executați:
fish_config prompt show
fish_config prompt choose disco
fish_config prompt save
Comanda choose aplică promptul în sesiunea curentă; save îl scrie pentru sesiunile viitoare. Consultați referința fish_config pentru interfața web și opțiunile comenzii.
Fish oferă instrumente de linie de comandă și teme, precum și configuratorul bazat pe browser.
7. Folosește autosugestii și completări
Pe măsură ce tastați, Fish poate afișa o sugestie gri bazată pe istoricul comenzilor, căile valide și completările. Apăsați săgeata la dreapta sau Ctrl+Fpentru a accepta sugestia; acceptarea acesteia umple doar linia de comandă, așadar apăsați Enter separat pentru a o rula. Apăsați Tabpentru a finaliza o comandă, un argument sau o cale sau pentru a vedea opțiunile disponibile.
Sugestiile pentru pești și completările cu tabulatori ajută la finalizarea comenzilor fără a le executa automat.
Ce se schimbă când te muți de la Bash?
Fish nu este un înlocuitor pentru Bash compatibil cu POSIX. Variabilele și blocurile de control folosesc o sintaxă diferită:
Sarcină
Bash
Pește
Setați o variabilă
name=value
set name value
Exportă o variabilă
export EDITOR=nano
set -gx EDITOR nano
Încheiați un ifbloc
fi
end
Fish nu încarcă .bashrc, aliasuri sau funcții Bash. Păstrează o combinație Bash, cum ar fi scripturile care ar trebui să ruleze cu Bash. Consultați documentația de limbaj și configurare#!/usr/bin/env bash Fish pentru detalii.
Reveniți la Bash sau depanați
Pentru a restaura Bash, rulați acest cod din Fish. Fish acceptă familiara $(...)substituție de comenzi:
chsh -s "$(command -v bash)"
Deconectați-vă și conectați-vă din nou. Dacă chshrespinge Fish, verificați din nou calea acestuia și /etc/shells. Pentru probleme SSH sau SCP, eliminați comenzile care produc ieșire din config.fish; Fish îl citește și în shell-uri neinteractive. Protejați configurația doar interactivă astfel:
if status is-interactive
# interactive-only setup
end