zsh (Z shell) - Uma alternativa ao bash

Este artigo descreve alguns procedimentos para configuração do zsh (Z Shell), uma alternativa ao mais conhecido bash (Bourne-Again Shell).

[ Hits: 47.006 ]

Por: Alberto Federman Neto. em 09/09/2013 | Blog: https://ciencialivre.blog/


oh-my-zsh



Depois de instalar o zsh (página 2) e testá-lo (página 3), existe um configurador para o zsh, chamado oh-my-zsh, feito pelo programador Francês Robby Russel:
C. Copie seu arquivo de configuração do zsh para protegê-lo:

cd /
$ cd ~/
$ sudo cp ~/.zshrc ~/.zshrc.original


D. Instalação em distribuições em geral:

1. Instalação automática:

A mais fácil e recomendada pelo desenvolvedor, e baseada em baixar o pacote oh-my-zsh com o cURL ou o Wget.

Se quiser, pode experimentar com outros gerenciadores de download, como o Axel, Prozilla e o Aria2.

Execute um dos comandos abaixo:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

$ wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh


2. Instalação pelo Git:

Se preferir, instale em sua distribuição alguns controladores de versão (Git, CVS e SVN/Subversion), depois baixe e clone o oh-my-zsh, usando Git:

sudo git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
$ sudo cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zsh


E. Para Sabayon e Gentoo, ele já está instalado (veja página 2).

F. Uso.

Com esse configurador, o oh-my-zsh, você pode ter vários temas de cores e aspectos do terminal, plugins com suporte a Git, linguagens de programação, multimídia, etc.

Para usá-lo, execute estes comandos:

cd /
$ cd ~/
$ cd .oh-my-zsh
$ sudo sh oh-my-zsh.sh


Isso ativa o oh-my-zsh.

Agora, edite o seu arquivo "~/.zshrc", para temas, plugins, etc. Se quiser, pode se basear no meu:

# Path to your oh-my-zsh configuration.
ZSH=$HOME/.oh-my-zsh

# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.

ZSH_THEME="candy"

# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"

# Comment this out to disable bi-weekly auto-update checks
# DISABLE_AUTO_UPDATE="true"

# Uncomment to change how often before auto-updates occur? (in days)
# export UPDATE_ZSH_DAYS=13

# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"

# Uncomment following line if you want to disable autosetting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment following line if you want to disable command autocorrection
# DISABLE_CORRECTION="true"

# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"

# Uncomment following line if you want to disable marking untracked files under
# VCS as dirty. This makes repository status check for large repositories much,
# much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)

plugins=(git)

source $ZSH/oh-my-zsh.sh

# Customize to your needs...
# export PATH=$PATH:/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3:/opt/sublime-text2:/opt/nvidia-cg-toolkit/bin:/usr/games/bin:/opt/cuda/bin:/opt/cuda/libnvvp

# Adaptado a partir de meu Bash:

#Welcome msg

echo '   _ '
echo '  *v* *** BEM VINDO AO '`hostname`' ***'
echo ' /(_)\ '
echo '  ^ ^ ' `date`
echo ' '

#Sistema
echo '    '
echo '  *** Sistema: '`uname -a`' ***'
echo '   '
echo '  *** Usuario: '`who -m`' ***'
echo '   _ '

# Checa a Hora do Brasil, lista servidores NTP e ajusta Teclado:

echo '   _ '
echo '  *** Hora do Brasil e Servidores: ***'
echo '   _ '
ntpq -p
echo '   _ '
setxkbmap -model abnt2 -layout br -variant abnt2
echo '   _ '
echo '*** PRONTO, OK, EIS SEU TERMINAL, DIGITE SEU COMANDO: ***'
date

# Teste de Shell, default no Sabayon:

# Test for an interactive shell.  There is no need to set anything
# past this point for scp and rcp, and it's important to refrain from
# outputting anything in those cases.

if [[ $- != *i* ]] ; then
    # Shell is non-interactive.  Be done now!
    return
fi

# Atalhos, Alias, Para Sabayon, mude para sua Distro

alias lsa='ls -a'
alias lsc='ls -agotpUXh'
alias lst='ls -a -X'
alias terminal='mrxvt'
alias arquivos='nautilus'
alias xinit='xinit &'
alias desliga='sudo init 0'
alias reinicia='sudo reboot'
alias repositorios='sudo equo up'
alias autorepos='sudo equo up && sudo emerge --sync && sudo layman -S'
alias vaiatualizar='sudo equo u --pretend'
alias atualizar='sudo equo u'
alias editar='gksu gedit'
alias internet='/home/albfneto/Desktop/PACOTES/firefox/firefox/firefox %U'

Detalhes de como editá-lo, temas, etc:
Este meu arquivo usa o tema Candy, gerando um terminal com este aspecto:

G. Protegendo a configuração:

Neste ponto, você pode querer usar o oh-my-zsh, mas pode desejar voltar depois ao zsh "clássico", para isso, copie o seu arquivo "/home/usuário/.zshrc" para poder trocá-lo:

cd /
$ cd ~/
$ sudo cp .zshrc zshrc.oh-my-zsh


Para trocar novamente ao zsh clássico (página 3), execute estes comandos:

cd /
$ cd ~/
$ sudo mv -f .zshrc.classico .zshrc


Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação de zsh e seus complementos
   3. Testando zsh
   4. oh-my-zsh
   5. Detalhes e conclusão
Outros artigos deste autor

Linux pode ser usado por todo mundo! Escolhendo o seu primeiro Linux. Duas Filosofias fundamentais

Sabayon Linux: Migrando KDE4 para KDE5

Como traduzir Software Livre - Um método fácil

Utilização de Webcams Antigas no Sabayon Linux com Kernel 5.7 - 2020

Experimento com Linux: Misturando Sabayon com Gentoo

Leitura recomendada

Acentos corretos no console, PnUP, PnDown, Home End, etc..

Como configurar os repositórios do apt no Debian 12 em 2025

Adicionando suporte ao Layer7 no CentOS 5.3

Instalando o Linux Ubuntu 8.04 Hardy Heron

MaraDNS: Simples - Seguro - Robusto

  
Comentários
[1] Comentário enviado por px em 09/09/2013 - 10:54h

Bacana, já havia ouvido falar e até usei um tempo atrás no BSD (sh) e no slack o zsh e um outro que não me recordo agora, mas qual é a real diferença entre eles? tem algum ganho nos comandos e binários que executamos ou é só por gosto mesmo?

[2] Comentário enviado por lcavalheiro em 09/09/2013 - 12:41h

Em primeiro lugar, excelente artigo, Alberto!


[1] Comentário enviado por px em 09/09/2013 - 10:54h:

Bacana, já havia ouvido falar e até usei um tempo atrás no BSD (sh) e no slack o zsh e um outro que não me recordo agora, mas qual é a real diferença entre eles? tem algum ganho nos comandos e binários que executamos ou é só por gosto mesmo?


Tem diferenças sim. Cada shell permite uma certa gamas de recursos e possibilidades, como por exemplo o csh (que permite usar a sintaxe da linguagem C direto no terminal), o ash (eu acho que é esse, que é um bash mais pelado, com o objetivo de ser bem leve), o ksh (meu favorito, que dá pra fazer umas coisas do arco da velha neles). Hoje eu uso só o bash, mas é mais por preguiça do que por qualquer outra coisa.

[3] Comentário enviado por azk em 09/09/2013 - 15:22h

Belo artigo!
Irei fazer alguns testes com o zsh...

Favoritado!

[4] Comentário enviado por albfneto em 09/09/2013 - 21:22h

Tem diferenças sim, alguns comandos são diferentes (não os básicos de linux)
zsh demora um pouquinho mais para carregar a shell (pelo menos no Olhômetro) mas e execução do comando em sí é mais rápida.
eu acho ela prática, por causa das autocorreções e do auto-completar.

Binários. claro não há diferença, em qualquer interpretador de comandos, com os binários executáveis, ele só os executa.

[5] Comentário enviado por albfneto em 09/09/2013 - 22:19h

COMPLEMENTOS DO ARTIGO:

13 de Novembro de 2018.

Encontrei outra maneira fácil de mudar Temas do Zsh:

Abra o Zsh, execute o comando de função

$ prompt -l

Aparecem os Prompts disponíveis:

Currently available prompt themes:
adam1 adam2 bart bigfade clint elite2 elite fade fire gentoo off oliver pws redhat suse walters zefram

Escolha um, por exemplo o "fire" e faça setar esse prompt, com este comando:

$ prompt -s fire

a seguir, edite o arquivo ~/.zshrc e coloque nele estas linhas:

autoload -Uz promptinit
promptinit
prompt fire

Se usar outro Prompt, substitua "fire" pelo nome do Prompt.

Para ver como são os Temas de Prompt, gráficamente, eles estão aqui:

http://bneijt.nl/blog/post/zsh-themes-for-prompts-screenshots/

Sobre O Dash.

O shell Dash (Debian Almquist Shell) foi usado muito por Ubuntu, por anos, mas descobri recentemente que ele foi inventado para Debian, e nao para Ubuntu:

https://www.cyberciti.biz/faq/debian-ubuntu-linux-binbash-vs-bindash-vs-binshshell/
https://www.edivaldobrito.com.br/dash-to-dock-no-gnome-shell/

Mais um Artigo meu, sobre o assunto exposto aqui:

https://edpsblog.wordpress.com/2017/07/04/dica-variando-terminais-e-shell/

[6] Comentário enviado por xerxeslins em 10/09/2013 - 10:09h

Favoritado, É lógico.

[7] Comentário enviado por removido em 10/09/2013 - 21:31h

Ótimo artigo.Vou testar também.

[8] Comentário enviado por px em 10/09/2013 - 23:07h

Veleu pelas respostas ai colegas dos comentários supracitados.

[9] Comentário enviado por smarcell em 12/09/2013 - 11:47h

Vamos jogar Tetris no zsh?

autoload -U tetris
zle -N tetris
bindkey 'TECLA' tetris

Onde 'TECLA' é a tecla definida por você, e que irá chamar o jogo!

Feito isso, pressione a tecla que você definiu e pronto! Jogue a vontade. :)

zsh rules!!!

[10] Comentário enviado por Crux em 18/09/2013 - 13:44h

Cara é que distro posso encontrar

[11] Comentário enviado por albfneto em 06/02/2014 - 13:00h

Antigo, mas só agora ví.
Fish e Zsh estão presentes em quase todas as Distros.
procure pelo pacote Fish ou zsh,no seu gerenciador de pacotes.
em muitos linux, é mais fácil de instalar que no sabayon ou no gentoo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts