Používanie Z shellu ako predvoleného shellu na Macu

Od verzie systému macOS Catalina používa Mac ako predvolený prihlasovací a interaktívny shell Z shell. Z shell sa dá ako predvolený nastaviť aj v starších verziách systému macOS.

Predvolene Mac ako príkazový interpreter pre prihlasovací a interaktívny shell používa Z shell alebo shell Bash:

  • zsh (Z shell) je predvolený shell pre všetky novovytvorené používateľské účty od verzie systému macOS Catalina.

  • Bash je predvolený shell v systéme macOS Mojave a staršom.

Z shell je vysoko kompatibilný s Bourne shellom (sh) a do značnej miery je kompatibilný aj so shellom Bash (v istých aspektoch sa však líšia). Ak chcete o Z shelle a jeho komplexnom systéme dokončovania príkazového riadka zistiť viac, zadajte v Termináli príkaz man zsh.

Zmena predvoleného shellu

Bez ohľadu na to, či máte používateľský účet konfigurovaný na používanie Z shellu (odporúča sa), shellu Bash alebo iného shellu, predvolený shell môžete zmeniť v príkazovom riadku alebo v nastaveniach Užívatelia a skupiny.

V príkazovom riadku

V Termináli zadajte príkaz $ chsh -s cesta, kde reťazec cesta predstavuje jednu z ciest uvedených v súbore /etc/shells, napríklad /bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh alebo /bin/tcsh.

V nastaveniach Užívatelia a skupiny

V systéme macOS Ventura alebo novšom:

  1. Vyberte menu Apple  > Systémové nastavenia a potom na postrannom paneli kliknite na Užívatelia a skupiny.

  2. So stlačeným klávesom Control kliknite v zozname používateľov vpravo na svoje meno používateľa alebo fotku používateľa a potom vyberte Rozšírené možnosti.

  3. Po zobrazení výzvy zadajte svoje meno používateľa a heslo.

  4. V menu Prihlasovací Shell vyberte shell a potom kliknutím na OK zmeny uložte.

V starších verziách systému macOS:

  1. Vyberte menu Apple  > Systémové nastavenia a kliknite na Užívatelia a skupiny.

  2. Kliknite na zámokNo alt supplied for Image a zadajte svoje meno používateľa a heslo.

  3. So stlačeným klávesom Control kliknite v zozname používateľov vľavo na meno používateľa a potom vyberte Rozšírené možnosti.

  4. V menu Prihlasovací Shell vyberte shell a potom kliknutím na OK zmeny uložte.

Výber iného shellu bez zmeny predvoleného shellu

Ak nechcete, aby Terminál v nových oknách a taboch Terminálu používal predvolený prihlasovací shell:

  1. Otvorte Terminál a vyberte Terminál > Nastavenia.

  2. Na paneli Všeobecné vyberte Príkaz (úplná cesta).

  3. Do vedľajšieho poľa zadajte jednu z ciest shellu uvedených v súbore /etc/shells, napríklad /bin/zsh, /bin/bash, /bin/csh, /bin/dash, /bin/ksh, /bin/sh alebo /bin/tcsh.

Ak je systém macOS konfigurovaný na používanie iného shellu a vy vyvoláte shell Bash, zobrazí sa správa, že predvoleným interaktívnym shellom je teraz Z shell. Ak nechcete, aby sa toto upozornenie zobrazovalo, pridajte do súboru ~/.bash_profile alebo ~/.profile tento príkaz:

export BASH_SILENCE_DEPRECATION_WARNING=1

Prepnutie na profil a príkazový riadok Z shellu

Ak používate profil shellu Bash, napríklad na nastavovanie premenných prostredia, aliasov alebo premenných cesty, mali by ste prejsť na používanie ekvivalentu zodpovedajúceho Z shellu. Príklad:

  • .zprofile je ekvivalentom súboru .bash_profile a spúšťa sa pri prihlásení vrátane prihlásenia cez protokol SSH.

  • .zshrc je ekvivalentom súboru .bashrc a spúšťa sa pri každej novej relácii Terminálu.

Ak používate súbor .profile (ktorý je kompatibilný so štandardom POSIX), môžete nastaviť, aby Z shell automaticky čítal jeho nastavenia. Do súboru .zprofile pridajte tento príkaz:

[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'

Okrem toho môžete niektoré nastavenia profilu shellu Bash presunúť do profilu Z shellu bez zmeny. Ak chcete napríklad nastaviť premenné prostredia: export MY_SETTING=1.

Z shell rozpoznáva iný súbor špecifikátorov príkazov než shell Bash a má jednoduchšiu syntax na určenie farebného výstupu, vďaka čomu odstraňuje nutnosť používania zložitých escape sekvencií ANSI. Tu je napríklad syntax predvoleného príkazového riadku shellu Bash zo súboru .bash_profile:

export PS1="\[\e[92;40m\]\h\[\e[m\]:\[\e[93m\]\W\[\e[m\] \\$ "

Prevod príkazového riadka shellu Bash pri používaní súboru .zprofile alebo .zshrc na príkazový riadok Z shellu:

export PS1="%10F%m%f:%11F%1~%f \$ "

Viac podrobností nájdete na stránke man zsh.

Otestovanie shellových skriptov

Ak chcete otestovať kompatibilitu skriptov so shellmi kompatibilnými s Bourne shellom v systéme macOS Catalina alebo novšom, môžete zmeniť shell /var/select/sh na /bin/bash, /bin/dash alebo /bin/zsh. Ak shell /var/select/sh zmeníte na iný shell ako Bash, vezmite na vedomie, že skripty, ktoré využívajú postupy shellu Bash, možno nebudú fungovať správne.

Môžete nastaviť, aby Z shell emuloval Bourne shell, a to spustením príkazu zsh --emulate sh.

Informácie o produktoch, ktoré nevyrába spoločnosť Apple, alebo nezávislých webových stránkach, ktoré nekontroluje ani netestuje spoločnosť Apple, sa poskytujú bez akéhokoľvek odporúčania či podpory. Spoločnosť Apple nenesie žiadnu zodpovednosť v súvislosti s výberom, výkonom alebo používaním webových stránok alebo produktov tretích strán. Spoločnosť Apple neposkytuje žiadne vyhlásenia týkajúce sa presnosti či spoľahlivosti webových stránok tretích strán. Ak chcete získať ďalšie informácie, obráťte sa na dodávateľa.

Dátum zverejnenia: