- INTRO
- STORIA ZSH
- OH MY ZSH
- INSTALLAZIONE
- MacOsx
- Linux
- INSTALLAZIONE OH MY ZSH
- PANORAMICA SUI FILE DI CONFIGURAZIONE
- PLUGIN
- 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
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
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
per verificare quali shell sono disponibili sul nostro sistema lanciamo:
cat /etc/shells
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.
Diamo un’occhiata al contenuto della cartella .oh_my_zsh:
cd .oh-my-zsh
e lanciamo un
ls
.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:
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:
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.