#format wiki
#LANGUAGE it
<
>
<>
<>
= Introduzione =
Il nome '''fish''' è l'[[https://it.wikipedia.org/wiki/Acronimo|acronimo]] di '''''F'''riendly'' '''''I'''nteractive'' '''''SH'''ell''.
'''fish''' è una [[https://it.wikipedia.org/wiki/Shell_(informatica)|shell]] rivolta all'uso interattivo. Le sue funzionalità si concentrano sulla facilità d'uso e l'intuitività. La sintassi del linguaggio è facile ma incompatibile con altri linguaggi shell.
Una delle funzioni più interessanti di '''fish''' è quella di suggerire il comando durante la digitazione.
= Installazione =
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://fish|fish]].
= Modifica della shell in uso =
Per utilizzare la shell '''fish''' temporaneamente oppure in modalità definitiva, consultare le istruzioni di [[Programmazione/CambiareShell#Cambiare_shell|questa guida]].
= Utilizzo =
Oltre ai consueti [[AmministrazioneSistema/ComandiBase|comandi di base]], con '''fish''' sono disponibili le funzioni descritte di seguito.
== Suggerimenti ==
Quando si inizia a digitare un comando sulla shell, ''fish'' suggerisce immediatamente un eventuale completamento del comando stesso. A seconda delle situazioni sarà possibile:
* Completare il comando premendo il tasto direzionale destro.
* Confermare la prima parte del comando premendo contemporaneamente '''Alt''' e il tasto direzionale destro.
* Ottenere suggerimenti e/o altre opzioni premendo il tasto '''TAB'''.
== Benvenuto ==
Per modificare il messaggio di benvenuto digitare: {{{
set fish_greeting
}}}
{{{#!wiki tip
Lasciando il campo vuoto viene eliminato il messaggio di benvenuto.
}}}
== Interfaccia web ==
Questa funzione permette di poter gestire '''fish''' attraverso un'interfaccia grafica, all'interno di un browser web.
0. Per aprire l'interfaccia web digitare:{{{
fish_config
}}}
Verrà avviato un server locale e verrà aperta una scheda nel browser web predefinito.
0. All'interno dell'interfaccia web sarà possibile consultare e/o modificare alcune impostazioni e funzionalità (colore e dimensione dei caratteri, funzioni, variabili, cronologia ecc.).
0. Per uscire dall'interfaccia web è sufficiente chiudere la scheda del web browser e premere il tasto '''Invio''' nel terminale.
== Cambiare cartella ==
Con '''fish''' è possibile spostarsi di cartella senza usare il comando '''cd''' ma digitando il nome della directory e premendo poi il tasto '''Invio'''. Ad esempio per spostarsi in `/usr/share/applications` semplicemente digitare:{{{
/usr/share/applications/
}}}
== Function ==
Lo strumento `function` in '''fish''' serve per creare una scorciatoia personalizzata per un determinato comando (è pertanto l'equivalente di `alias` per la shell '''bash''').
0. Per creare una ''function'' digitare:{{{
function
end
}}}
Ad esempio:{{{
function off
systemctl poweroff
end
}}}
0. Creata la ''funtion'', questa sarà attiva, ma andrà persa al successivo reboot/logout. Per salvarla digitare: {{{
funcsave
}}}
Ad esempio: {{{
funcsave off
}}}
È inoltre possibile ottenere un elenco delle ''function'' attive digitando:{{{
functions -a
}}}
Per eliminare una ''function'' digitare: {{{
functions -e
}}}
== Pagina man integrata ==
Questa funzionalità permette di selezionare un'opzione di un comando in maniera interattiva, direttamente da quelli presenti nella [[https://it.wikipedia.org/wiki/Man_(Unix)|pagina man]] di un programma.
Per utilizzare la funzionalità
0. Digitare:{{{
fish_update_completions
}}}
Dopo aver lanciato il comando verranno analizzate le varie pagine man.
0. Appena si digita un comando con il relativo segno «'''-'''» che precede l'opzione, premere il tasto '''TAB'''.
0. Comparirà la lista delle opzioni disponibili. Sarà quindi possibile utilizzare quella di proprio interesse.
== History ==
Il comando `history` mostra la cronologia dei comandi digitati nel [[AmministrazioneSistema/Terminale|terminale]], ma può inoltre essere usato per altre funzioni.
Di seguito sono illustrati alcuni utilizzi.
* '''Ricerca:''' Per cercare un comando nella cronologia digitare: {{{
history search
}}}
Ad esempio: {{{
history search man
}}}
* '''Eliminazione parziale:''' Per cancellare alcune voci dalla cronologia digitare: {{{
history delete
}}}
Ad esempio: {{{
history delete upgrade
}}}
L'output sarà simile al seguente: {{{
[1] sudo apt upgrade
[2] sudo aptitude safe-upgrade
[3] sudo apt safe-upgrade
Enter nothing to cancel the delete, or
Enter one or more of the entry IDs separated by a space, or
Enter "all" to delete all the matching entries.
Delete which entries? >
}}}
A seconda dei casi è possibile:
* Annullare l'operazione premendo in tasto '''Invio'''.
* Digitare uno o più numeri per eliminare le relative voci.
* Digitare `all` per eliminare tutte le voci elencate.
* '''Eliminazione completa:''' Per cancellare completamente la cronologia dei comandi digitare: {{{
history clear
}}}
* '''Salvataggio:''' Per salvare la cronologia digitare: {{{
history save
}}}
* '''Help:''' Per informazioni digitare uno a scelta dei seguenti comandi: {{{
history -h
history --help
}}}
== Modalità privata ==
È possibile usare la shell in modalità privata, ossia senza che venga salvata la cronologia dei comandi. A tal fine digitare:{{{
fish -P
}}}
Come conferma nel messaggio di benvenuto comparirà anche la seguente dicitura:{{{
fish is running in private mode, history will not be persisted.
}}}
= Ulteriori risorse =
* [[https://fishshell.com|Sito ufficiale del progetto]]
* [[https://github.com/fish-shell/fish-shell|Repository ufficiale dello sviluppo]]
----
CategoryAmministrazione CategoryProgrammazione