fish è una shell a riga di comando intelligente e facile da usare per macOS, Linux e il resto della famiglia. fish include caratteristiche come l’evidenziazione della sintassi, l’autosuggest-as-you-type e fantasiosi complementi di tabulazione che funzionano e basta, senza alcuna configurazione richiesta.
Per maggiori informazioni sulla filosofia di progettazione di fish, si veda il documento di progettazione.
- Avvio rapido
- Ottenere fish
- macOS
- Pacchetti per Linux
- Windows
- Costruire da sorgente
- Eseguire fish
- Dipendenze
- Passare a fish
- Costruire
- Dipendenze
- Costruire dai sorgenti (tutte le piattaforme) – Generatore di Makefile
- Costruire da sorgente (macOS) – Xcode
- Aiuto, non ha costruito!
- Contribuire alle modifiche del codice
- Contattateci
Avvio rapido
fish generalmente funziona come altre shell, come bash o zsh. Alcune differenze importanti possono essere trovate su https://fishshell.com/docs/current/tutorial.html cercando la frase magica “diversamente dalle altre shell”.
Documentazione dettagliata per l’utente è disponibile eseguendo help
all’interno di fish, e anche a https://fishshell.com/docs/current/index.html
Puoi giocare velocemente con fish direttamente nel tuo browser cliccando il pulsante qui sotto:
Ottenere fish
macOS
fish può essere installato:
- usando Homebrew:
brew install fish
- utilizzando MacPorts:
sudo port install fish
- utilizzando il programma di installazione da fishshell.com
- come applicazione indipendente da fishshell.com
Pacchetti per Linux
Pacchetti per Debian, Fedora, openSUSE e Red Hat EnterpriseLinux/CentOS sono disponibili da openSUSE BuildService.
I pacchetti per Ubuntu sono disponibili da fishPPA e possono essere installati utilizzando i seguenti comandi:
sudo apt-add-repository ppa:fish-shell/release-3sudo apt-get updatesudo apt-get install fish
Le istruzioni per altre distribuzioni possono essere trovate su fishshell.com.
Windows
- Su Windows 10, fish può essere installato sotto il WSL Windows Subsystem for Linux con le istruzioni per la distribuzione appropriata elencata sopra sotto “Pacchetti per Linux”, o da sorgente con le istruzioni sottostanti.
- Fish può anche essere installato su tutte le versioni di Windows usando Cygwin (dalla categoria Shells).
Costruire da sorgente
Se i pacchetti non sono disponibili per la vostra piattaforma, i tarball con firma GPG sono disponibili da fishshell.com efish-shell su GitHub. Vedi la sezione Costruzione per le istruzioni.
Eseguire fish
Una volta installato, esegui fish
dalla tua shell attuale per provare fish!
Dipendenze
Eseguire fish richiede:
- curses o ncurses (preinstallati sulla maggior parte dei sistemi *nix)
- alcune comuni utilità di sistema *nix (attualmente
mktemp
), oltre alle utilità POSIX di base (cat
,cut
,dirname
,ls
,mkdir
,mkfifo
,rm
,sort
,tee
,tr
,uname
esed
almeno, ma è preferibile l’intero coreutils piùfind
eawk
) - La libreria gettext, se compilata con supporto alla traduzione
Le seguenti caratteristiche opzionali hanno anche requisiti specifici:
- i comandi di compilazione che hanno l’opzione
--help
o stampano messaggi d’uso richiedonoul
e onroff
omandoc
per la visualizzazione - la generazione automatica di completamento dalle pagine manuali richiede Python 3.5+
- lo strumento di configurazione web
fish_config
richiede Python 3.5+ e un browser web - l’integrazione degli appunti di sistema (con i collegamenti predefiniti Ctrl-V e Ctrl-X) richiede le versioni
xsel
,xclip
,wl-copy
/wl-paste
opbcopy
/pbpaste
utility - Il completamento di
yarn
enpm
richiede il moduloall-the-package-names
NPM
Passare a fish
Se vuoi usare fish come shell predefinita, usa il seguente comando:
chsh -s /usr/local/bin/fish
chsh
vi chiederà la vostra password e cambierà la vostra shell di default. (Sostituire /usr/local/bin/fish
con il percorso in cui è stato installato fish, se è diverso.) Esci, poi accedi di nuovo per far sì che le modifiche abbiano effetto.
Usa il seguente comando se fish non è già aggiunto a /etc/shells
per permettere a fish di essere la tua shell di login:
echo /usr/local/bin/fish | sudo tee -a /etc/shells
Per cambiare la tua shell di default, puoi eseguire chsh -s /bin/bash
(sostituendo /bin/bash
con /bin/tcsh
o /bin/zsh
a seconda dei casi).
Costruire
Dipendenze
La compilazione di fish richiede:
- un compilatore C++11 (g++ 4.8 o successivo, o clang 3.3 o successivo)
- CMake (versione 3..2 o successivo)
- un’implementazione di curses come ncurses (intestazioni e librerie)
- PCRE2 (intestazioni e librerie) – una copia è inclusa in fish
- gettext (intestazioni e librerie) – opzionale, per il supporto alla traduzione
Sphinx è anche facoltativamente richiesto per costruire la documentazione dal repository git clonato.
Inoltre, l’esecuzione della suite di test richiede Python 3.5+ e il pacchetto pexpect.
Costruire dai sorgenti (tutte le piattaforme) – Generatore di Makefile
Per installare in /usr/local
, eseguire:
mkdir build; cd buildcmake ..makesudo make install
La directory di installazione può essere modificata usando il parametro-DCMAKE_INSTALL_PREFIX
per cmake
.
Costruire da sorgente (macOS) – Xcode
mkdir build; cd buildcmake .. -G Xcode
Un progetto Xcode sarà ora disponibile nella sottodirectory build
.Puoi aprirlo con Xcode, o eseguire il seguente per costruire e installare in/usr/local
:
xcodebuildxcodebuild -scheme install
La directory di installazione può essere modificata usando il parametro-DCMAKE_INSTALL_PREFIX
per cmake
.
Aiuto, non ha costruito!
Se fish riporta che non è riuscito a trovare curses, prova a installare un pacchetto cursesdevelopment e a costruire di nuovo.
Su Debian o Ubuntu vuoi:
sudo apt-get install build-essential cmake ncurses-dev libncurses5-dev libpcre2-dev gettext
Su RedHat, CentOS, o Amazon EC2:
sudo yum install ncurses-devel
Contribuire alle modifiche del codice
Vedi la Guida per sviluppatori.
Contattateci
Domande, commenti, sproloqui e sfoghi possono essere inviati alla lista ufficiale di fishmailing a https://lists.sourceforge.net/lists/listinfo/fish-usersor unisciti a noi sul nostro gitter.imchannel. Oppure usa il fishtag onStackoverflow per le domande relative allo script fish e il fish tag onSuperuser per tutte le altre domande (per esempio, personalizzare i colori, cambiare i key bindings).
Hai trovato un bug? Hai un’idea fantastica? Per favore, apri un problema.