zshAan de slag met zsh


Opmerkingen

zsh is een POSIX-compatibele shell en een populair alternatief voor de Bourne-shell ( sh ) en bash .

Het belangrijkste kenmerk is een focus op een hoog niveau van aanpassing door de gebruiker, wat heeft geleid tot een actieve gemeenschap van ontwikkelaars die extensies voor zsh , waaronder aangepaste, meer informatieve promptstatusregels, vaak geïntegreerd met systeemservices.

Veel configuraties met grote sets van verstandige standaardinstellingen en handige uitbreidingen bestaan online, inclusief de populaire oh-my-zsh en prezto .

versies

Versie Publicatiedatum
5.3.1 2016/12/21
5.3 2016/12/12
5.2 2015/12/02
5.1.1 2015/09/11
5.1 2015/08/30
5.0.8 2015/05/31
5.0.0 2012-07-24
4.3.17 (bèta) 2012-02-23
4.2.7 2007-12-18
4.3.1 (bèta) 2006-02-28
4.2.0 2004-03-19
4.0.9 2003-12-19
4.1.1 (bèta) 2003-06-19
4.0.1 2001-06-01
3.1.9 2000/06/05
3.0.8 2000/05/16
3.1.6 (bèta) 1999/08/01
3.0.0 1996/08/15
2.6-beta21 1996/06/19
2.6-beta 1 1994/10/16
2.5.0 1994/07/14
2.3.1 1993/02/20
2.2 1992/05/13
2.1 1991/10/24
2.0 1991/04/24
1.0 1990/12/15

aliassen

Als u een opdracht in uw ~/.zshrc bestand als alias wilt gebruiken, kunt u de volgende syntaxis gebruiken:

alias [alias-name]="[command-to-execute]"
 

Het is bijvoorbeeld gebruikelijk om het commando ls -a te voeren. U kunt dit commando alias zo la als zodanig:

alias la="ls -a"
 

Nadat u het bestand ~/.zshrc opnieuw hebt geladen, kunt u la typen en wordt ls -a uitgevoerd.

Directory-aliassen

Het is gebruikelijk om bepaalde mappen te hebben waar je vaak op cd . Als dit het geval is, kunt u aliassen aan deze mappen maken, waarmee u cd ing voor hen gemakkelijker. Het volgende zal bijvoorbeeld de Dropbox-map alias geven:

alias db="cd ~/Dropbox"
 

zodat u db kunt invoeren en mappen kunt wijzigen in ~/Dropbox .

Configuratie

Bij het starten van Zsh worden de volgende bestanden standaard in deze volgorde geplaatst:

  1. /etc/zsh/zshenv Gebruikt voor het instellen van systeembrede omgevingsvariabelen; het mag geen opdrachten bevatten die uitvoer produceren of aannemen dat de shell aan een tty is bevestigd. Dit bestand zal altijd van oorsprong zijn, dit kan niet worden genegeerd.

  2. $ZDOTDIR/.zshenv Gebruikt voor het instellen van omgevingsvariabelen van de gebruiker; het mag geen opdrachten bevatten die uitvoer produceren of aannemen dat de shell aan een tty is bevestigd. Dit bestand zal altijd worden ingekocht.

  3. /etc/zsh/zprofile Wordt gebruikt voor het uitvoeren van opdrachten bij het opstarten en wordt /etc/zsh/zprofile bij het starten als een login-shell.

Merk op dat het bij Arch Linux standaard één regel bevat die het / etc / profiel bron.

/etc/profile Dit bestand moet bij het inloggen door alle Bourne-compatibele shells worden aangekocht: het stelt $PATH en andere omgevingsvariabelen en applicatiespecifieke (/etc/profile.d/*.sh) instellingen in bij het inloggen.

  1. $ZDOTDIR/.zprofile Wordt gebruikt voor het uitvoeren van gebruikersopdrachten bij het opstarten en is afkomstig van een login-shell.

  2. /etc/zsh/zshrc Wordt gebruikt voor het instellen van de interactieve shell-configuratie en het uitvoeren van opdrachten, en wordt opgehaald bij het starten als een interactieve shell.

  3. $ZDOTDIR/.zshrc Wordt gebruikt voor het instellen van de interactieve shell-configuratie van de gebruiker en het uitvoeren van opdrachten, en wordt opgehaald bij het starten als een interactieve shell.

  4. /etc/zsh/zlogin Wordt gebruikt voor het uitvoeren van commando's aan het einde van de initiële voortgang en wordt /etc/zsh/zlogin bij het starten als een login shell.

  5. $ZDOTDIR/.zlogin Gebruikt voor het uitvoeren van commando's van de gebruiker aan het einde van de initiële voortgang, zal worden verkregen bij het starten als een login shell.

  6. $ZDOTDIR/.zlogout Wordt aangekocht wanneer een login shell wordt afgesloten.

  7. /etc/zsh/zlogout Wordt /etc/zsh/zlogout wanneer een login shell wordt afgesloten.

Als $ ZDOTDIR niet is ingesteld, wordt $ HOME gebruikt.

Voor algemeen persoonlijk gebruik is het typisch om het .zshrc bestand van de gebruiker te bewerken voor persoonlijke voorkeuren

Installatie of instellingen

zsh

zsh is beschikbaar op veel UNIX-achtige platforms via hun ingebouwde pakketbeheersystemen. Op de Debian- en Ubuntu Linux-distributies is zsh beschikbaar in de standaard pakketrepository's en kan worden geïnstalleerd met:

$ sudo apt-get install zsh
# or, on newer Ubuntu distributions
$ sudo apt install zsh
 

Op op RPM gebaseerde distributies is zsh ook vaak beschikbaar in de standaardpakketarchieven en kan worden geïnstalleerd met:

$ yum install zsh
 

Op Fedora 22 en later:

$ dnf install zsh
 

Op BSD-systemen kan zsh worden geïnstalleerd met behulp van pkg :

$ pkg install zsh
 

Op OpenBSD kan zsh worden geïnstalleerd met behulp van pkg_add :

$ pkg_add zsh
 

Op Arch Linux kan zsh worden geïnstalleerd met behulp van pacman :

$ pacman -S zsh
 

Op openSUSE kan zsh worden geïnstalleerd met behulp van zypper :

$ zypper install zsh
 

Op systemen met macOS (OS X) is zsh standaard al geïnstalleerd, hoewel niet ingesteld als standaardshell. Je kunt ook nieuwere versies installeren via Homebrew:

$ brew install zsh
 

Als alternatief kan de broncode van zsh worden verkregen via de officiële website .

Vanaf daar kan de shell worden gestart door zsh te typen bij de prompt.

zsh standaardshell

Op de meeste Linux- en BSD-systemen kan zsh worden ingesteld als de standaardshell voor een gebruiker die de opdracht chsh :

$ chsh -s shell [username]
 

Waar

  • username is een echte gebruikersnaam (standaard ingesteld op de huidige gebruiker als deze wordt weggelaten)
  • shell is het pad naar de zsh binary. Het pad moet worden vermeld in het bestand /etc/shells , dat een lijst met toegestane shells bevat voor gebruik met chsh . Als zsh niet wordt vermeld - bijvoorbeeld omdat u het hebt gecompileerd en geïnstalleerd vanaf de bron - moet u eerst een regel met het absolute pad naar zsh . Je kunt dit pad krijgen which zsh (op voorwaarde dat het is geïnstalleerd in een map die wordt vermeld in PATH )

Om de wijzigingen één keer te zien, logt u uit en logt u in. Open de terminal-emulator en gebruik

`echo $SHELL`
 

Als /bin/zsh wordt weergegeven, hebt u de standaardshell met succes gewijzigd in zsh.

Laad ZSH-configuratie opnieuw

zsh laadt de configuratie uit het ~/.zshrc bestand bij het opstarten. Als u wijzigingen aanbrengt in dat bestand, kunt u zsh opnieuw opstarten of de volgende opdracht uitvoeren om de configuratie opnieuw te laden.

. ~/.zshrc
 

U kunt deze handige opdracht in uw ~/.zshrc als volgt alias:

alias reload=". ~/.zshrc"