Dimensione: 8295
Commento:
|
Dimensione: 7988
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 22: | Linea 22: |
Ubuntu utilizza di default la shell '''Bash'''. Pur essendo quest'ultima uno strumento molto versatile, in alcuni casi potrebbe essere utile l'uso di altre shell (ad esempio per usufruire di alcune personalizzazioni o funzionalità più avanzate, per la programmazione in C ecc.). The UNIX shell is most people's main access to the UNIX operating system and as such any improvement to it can result in considerably more effective use of the system, and may even allow you to do things you couldn't do before. The primary improvement most of the new generation shells give you is increased speed. They require fewer key strokes to get the same results due to their completion features, they give you more information (e.g. showing your directory in your prompt, showing which files it would complete) and they cover some of the more annoying features of UNIX, such as not going back up symbolic links to directories. |
Ubuntu utilizza di default la shell '''Bash'''. Pur essendo quest'ultima uno strumento molto versatile, in alcuni casi potrebbe essere utile l'uso di altre shell<<BR>> Infatti alcune shell dispongono di caratteristiche e/o funzionalità avanzate che talvolta possono risultare utili a seconda del lavoro e dei compiti da svolgere: maggiore responsività, informazioni su file e directory, personalizzazioni cromatiche, integrazione con alcuni linguaggi di programmazione ecc. |
Linea 45: | Linea 44: |
echo $0 }}} Verrà restituito il nome della shell in uso, ad esempio:{{{ -bash }}} Per conoscere anche il percorso digitare:{{{ |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida spiega come abilitare le shell più comunemente usate nei sistemi unix-like in Ubuntu e derivate.
Per l'utilizzo della shell Bash si rimanda alla relativa guida.
Per l'utilizzo delle altre shell si raccomanda di consultare i manuali dei singoli progetti.
Definizione e chiarimenti
In informatica si usa il termine generico di shell per indicare una qualunque interfaccia che permette all'utente di interagire con il sistema. Possono quindi essere individuate due macro-categorie di shell, ossia:
- shell a riga di comando
shell grafiche (come ad esempio gli ambienti desktop)
Tuttavia, nell'uso comune, è più frequente utilizzare il termine shell per indicare soltanto la prima categoria. Sarà pertanto questa l'accezione a cui si farà riferimento in questa guida.
La shell si può pertanto definire come il programma che fornisce l'interfaccia testuale per il sistema operativo. La sua funzione principale è di leggere i comandi opportunamente inseriti nella console e di eseguirli.
Ubuntu utilizza di default la shell Bash. Pur essendo quest'ultima uno strumento molto versatile, in alcuni casi potrebbe essere utile l'uso di altre shell
Infatti alcune shell dispongono di caratteristiche e/o funzionalità avanzate che talvolta possono risultare utili a seconda del lavoro e dei compiti da svolgere: maggiore responsività, informazioni su file e directory, personalizzazioni cromatiche, integrazione con alcuni linguaggi di programmazione ecc.
Installazione Shell più comuni
Vengono riportate di seguito alcune delle shell più utilizzate nei sistemi Unix.
Ove necessario, è indicato il relativo pacchetto necessario all'installazione.
Nome |
Descrizione |
Pacchetto |
Bourne (sh) |
È la shell storica dei sistemi UNIX. Garantisce la compatibilità con gli standard POSIX. |
preinstallata |
Korn (ksh o ksh88/ksh93) |
È una shell sviluppata in passato dalla AT&T, retrocompatibile con Bourne. È la shell di default di OpenBSD. |
|
Bash (bash) |
Acronimo di «Bourne Again SHell», è nata come versione avanzata e retrocompatibile di Bourne. Viene utilizzata dalle maggiori distribuzioni GNU/Linux, rappresentando de facto la shell standard. |
preinstallata |
Debian Almquist Shell (dash) |
Nata originariamente come porting della shell ash di NetBSD, quindi adattata agli standard Debian e rinominata nella forma attuale. È presente in Debian e derivate. |
preinstallata |
Z-Shell (zsh) |
Integra molte funzionalità, anche avanzate, mutuate da altre shell (autocompletamento, controllo ortografco, manipolazione avanzata di variabili e array, retrocompatibilità, temi ecc.). È la shell predefinita di Arch Linux. |
|
C-Shell (csh) |
Creata da sh, utilizza una sintassi modellata dal linguaggio C. |
|
TC-Shell (tcsh) |
Basata e derivata da csh, è presente in FreeBSD e in vecchie versioni di macOS. |
|
Friendly Interactive shell (fish) |
Nata con l'intento di essere user friendly, mutua molte funzionalità da altre shell, preabilitate di default. |
Numerose altre shell possono essere installate sia dai repository ufficiali (es. yash, mksh ecc.) sia da sorgenti esterne di terze parti (ad esempio Windows PowerShell).
Individuare shell in uso
Digitare nel terminale:
echo $0
Verrà restituito il nome della shell in uso, ad esempio:
-bash
Per conoscere anche il percorso digitare:
echo $SHELL
Verrà restituito un output simile al seguente:
/bin/bash
Conoscere shell disponibili nel sistema
Il file /etc/shells contiene un elenco delle shell presenti nel sistema.
Per consultare il file digitare nel terminale:
cat /etc/shells
Verrà restituito un output simile al seguente:
# /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /bin/zsh /usr/bin/zsh
Cambiare shell
Modifica temporanea della shell
Per utilizzare temporaneamente una shell installata è sufficiente invocarla da terminale.
Ad esempio per utilizzare zsh è sufficiente digitare nel terminale:zsh
Per individuare la shell in uso digitare il seguente comando per visualizzare i processi attivi nel terminale:
ps -T
L'output sarà simile al seguente:
PID TTY TIME CMD 13964 pts/0 00:00:00 bash 22450 pts/0 00:00:00 csh 22451 pts/0 00:00:00 ps
dove la shell in uso è csh.
Per ritornare ad usare la shell predefinita digitare:
exit
oppure invocare la shell impostata. Ad esempio in Ubuntu e derivate, con impostazioni di default, digitare:
bash
Modifica permanente della shell
You will use a program called chsh. There is a interactive method and non-interactive method. Type this into your terminal.
interactive method
$ chsh
This results in a brief dialog in which the user is prompted first for its password and then for the full path of the desired new shell.
Caution should be exercised when changing one's default shell because it is possible to make an error that only the root user (i.e., system administrator) can repair (although it should be easy for a skilled user to repair it on a home system). In particular, it is important to first test the shell temporarily in the current session and then to make certain that a valid shell name is being entered when making the permanent change.
non-interactive method
I will use csh as again an example.
$ chsh -s /bin/csh
The -s sets it for you without having to go into the editor to do it.
Okay you did the command and it went ok.but the echo says it is the same. Log out and back it for the change to take effect.Then do echo $SHELL. You should see it show the new shell.
Ulteriori risorse
Tabelle comparative (pagina enciclopedica)
http://www.softlab.ntua.gr/facilities/documentation/unix/shelldiff.html
http://www.geekvenue.net/chucktips/jason/chuck/1035144363/index_html