Guida La shell ZSH e OH MY ZSH

Psychonaut

Utente Jade
17 Giugno 2012
1,487
89
741
747
favicon.png



  1. INTRO
  2. STORIA ZSH
  3. OH MY ZSH
  4. INSTALLAZIONE
    1. MacOsx
    2. Linux
  5. INSTALLAZIONE OH MY ZSH
  6. PANORAMICA SUI FILE DI CONFIGURAZIONE
  7. PLUGIN
  8. TEMI

1 INTRO​

In questa guida impareremo a installare e configurare la shell zsh esplorandone le funzionalità base;
zsh è una shell molto potente e altamente personalizzabile,è usata come shell di default di macOS a partire da macOS catalina, è anche usata in Kali Linux;

Può essere vista come un’estensione della Bourne Shell, dotata di numerose migliorie.


2 STORIA ZSH​

La prima versione della Z shell fu scritta da Paul Falstad nel 1990, mentre era studente all'Università di Princeton;
Il nome zsh deriva dal professore di Yale Zhong Shao, allora un assistente presso l'Università.
Paul Falstad pensò che il nome di login di Shao, "zsh", fosse un buon nome per una shell.

*zsh wikipedia

3 OH MY ZSH​

Oh my zsh altro non è che un framework open source per la gestione della configurazione di Zsh, guidato da una grande community di utenti.

*oh my zsh sito
*oh my zsh GitHub

4.1 INSTALLAZIONE MACOSX​

Come accennato in precedenza sul nostro MAC la shell zsh dovrebbe essere già installata di default,
controlliamo lanciando i seguenti comandi:

echo $SHELL

zsh --version
Schermata 2021-08-11 alle 13.30.07.png
se l’output corrisponde a quello degli screen allora la nostra zsh è installata correttamente;

se invece zsh non è la shell di default controlliamo per prima cosa se è già installata e presente tra le shell disponibili con:

cat /etc/shells

Schermata 2021-08-11 alle 13.34.06.png

se è presente (in questo caso lo è, infatti l'ultima stringa indica che zsh si trova nei binari) lanciamo :

chsh -s $PATH_SHELL $UTENTE

sostituiamo a $PATH_SHELL il path di zsh ricavato dal comando precedente(/bin/zsh) e al posto di $UTENTE inseriamo il nome dell'utente di cui vogliamo modificare la shell.

per conoscere il nome dell'utente che utilizzi puoi lanciare il comando:

whoami

se invece la zsh non figura tra le shell disponibili procediamo con l’installazione.

*Prima di procedere con l'installazione di zsh vi consiglio se non lo avete già fatto di installare homebrew e git

Lanciamo:
brew install zsh

ora la nostra shell è stata installata, per avere conferma di ciò seguiamo nuovamente tutti i punti del capitolo 4.1


4.2 INSTALLAZIONE LINUX​


Molto probabilmente la shell di default è bash(come in moltissime distro linux) controlliamo lanciando i comandi:

echo $SHELL

Schermata 2021-08-11 alle 15.43.38.png

per verificare quali shell sono disponibili sul nostro sistema lanciamo:

cat /etc/shells

Schermata 2021-08-11 alle 15.45.22.png

l’output ci dirà tutte le shell disponibili, se zsh è presente lanciamo :

chsh -s $PATH_SHELL $UTENTE

sostituiamo a $PATH_SHELL il path di zsh ricavato dal comando precedente(/bin/zsh) e al posto di $UTENTE inseriamo il nome dell'utente di cui vogliamo modificare la shell.

per conoscere il nome dell'utente che utilizzi puoi lanciare il comando:

whoami

se invece la zsh non figura tra le shell disponibili procediamo con l’installazione:

sudo apt-get install zsh

5 INSTALLAZIONE OH MY ZSH​


ora passiamo all’installazione di oh my zsh, da qui in poi che voi usiate GNU/Linux o MacOS è irrilevante.

Possiamo scaricare oh my zsh tramite wget(non presente in maniera nativa su mac, ma possiamo installarlo con home brew) o più semplicemente tramite curl, presente in ogni sistema unix.

Lanciamo quindi uno dei due comandi:

DOWNLOAD OH MY ZSH TRAMITE WGET​

lanciamo il comando:

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

DOWNLOAD OH MY ZSH TRAMITE CURL​

lanciamo il comando:

sh -c "$(curl -fsSL [URL]https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh[/URL])"

6 PANORAMICA SUI FILE DI CONFIGURAZIONE​


Tutto ciò che ci occorre per la configurazione della nostra shell si trova all’interno della nostra home.
Per visualizzare il path della home lanciamo:

echo $HOME

Altrimenti raggiungiamola con il seguente comando:

cd $HOME

lanciamo un ls -la per visualizzare i file nascosti, ciò che ci serve è:

.zshrc file di configurazione della shell da cui impostare i temi e i plugin e i vari path da esportare.
.oh_my_zsh cartella contenente i temi, plugin e i tools.
.zsh_history file contenente la history della shell.

Schermata 2021-08-11 alle 16.04.09.png

Diamo un’occhiata al contenuto della cartella .oh_my_zsh:

cd .oh-my-zsh

e lanciamo un ls.

Schermata 2021-08-11 alle 16.14.36.png

Il file README.md contiene una guida iniziale all’utilizzo e configurazione di oh my zsh.
All’ interno della cartella plugins troviamo tutti quei plugins che possiamo inserire all’interno dei nostri file di configurazione.

All’ interno della cartella tools troviamo alcuni script utili per la gestione della shell.
All’interno di themes troviamo i temi disponibili per la shell.

7 PLUGIN​

ora passiamo alla configurazione dei plugin:
apriamo il file .zshrc nella nostra home, con qualsiasi editor(nano, vim ..), e navighiamo fino a trovare la variabile plugins:

Schermata 2021-08-11 alle 16.30.51.png


quello che dobbiamo fare è scegliere un plugin da installare(i plugin come detto in precedenza si trova nella directory .oh-my-zsh/plugin), e inserire il nome all’interno della variabile plugins=().

Proviamo a installarne uno insieme:

aggiungiamo alla variabile PLUGINS il nome del plugin thefuck:
Bash:
plugins=(
    thefuck
 
)

e salviamo il file, fattio ciò riavviamo la shell.

-thefuck è un plugins molto utile, quando sbagliate un comando basta lanciare subito dopo il comando thefuck per avereuna lista di comandi inerenti a quello precedente, ovvero restituisce il comando che probabilmente volevamo lanciare.

Se riavviando la shell viene visualizzato il seguente messaggio:

Schermata 2021-08-11 alle 16.40.49.png


dovremo installare il plugin, su macOsx lanciamo:

brew install thefuck

su linux invece lanciamo:

sudo apt install thefuck

8 TEMI​


la configurazione del tema è molto semplice, troviamo tutti i temi disponibili all’interno della directory .oh-my-zsh/themes per visualizzarli lanciamo:

ls .oh-my-zsh/themes

per impostare il tema corrente andiamo a modificare la variabile ZSH_THEME dentro il nostro file .zshrc , inserendo il nome del tema che vogliamo usare (inserire solo il nome,senza l’estensione .zsh-theme), riavviamo la shell ed il gioco è fatto.

Schermata 2021-08-11 alle 16.46.12.png
 

Allegati

  • Schermata 2021-08-11 alle 13.34.06.png
    Schermata 2021-08-11 alle 13.34.06.png
    20.3 KB · Visualizzazioni: 11
  • Schermata 2021-08-11 alle 16.30.51.png
    Schermata 2021-08-11 alle 16.30.51.png
    41.3 KB · Visualizzazioni: 11