shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ZSH


From: Listas XTMS
Subject: ZSH
Date: Thu, 3 Jul 2003 14:58:01 -0300

Olá, Lista.

Não sei se alguém acompanha o Linux in Brazil, mas surgiu lá uma discussão 
sobre zsh.
Ela descambou para um flame no final, mas um dos que arranjou a briga (além de 
mim... :-\ ), me mandou um e-mail mto interessante sobre zsh.
Como eu não conhecia e não sei se alguém aqui já usou, estou mandando um 
forward. Achei algumas coisas interessantes...

Segue abaixo (autor - address@hidden):

Uso interativo:

* Muito mais opções de linha de comando no zsh; veja man bash e veja
man zsh.
* Muito mais opções nos arquivos de controle no zsh; em especial, veja
"man zshoptions" e a função 'setopt'.
* Sistema de autocompletação mais flexível, universal e programável do
que no bash; veja "man zshcompsys", "man zshcompctl" e "man
zshcompwid". Em especial, o artigo
http://www.linux-mag.com/2002-07/power_01.html é muito esclarecedor.
Para saber sobre a nova autocompletação do bash 2, que melhorou
bastante mas ainda não chega ao nível da do zsh:
http://www.caliban.org/bash/index.shtml
* Sistema muito melhor de personalização do prompt de linha de
comando; em especial, veja 'prompt expansion' no 'man zshmisc'. O
melhor de todos é a possibilidade de pôr uma string do lado direito,
além do lado esquerdo.

Uso para programação:
* co-processes. "man zshmisc", procure por coproc. Recurso muito útil
para programação concorrente, é um pipe de duas vias.
* cliente ftp embutido, com comandos fáceis.
* dezenas de módulos que fazem as mais diversas coisas. Arquitetura de
plugins.
* Modos de compatibilidade com programação de ksh convencional e de bash.
* Importantíssimo recurso: o processo original fica no lado direito de
um pipe e não no esquerdo, como no bash. Assim:

echo a | read x; echo $x

no bash retorna nada, no zsh retorna a. Se você já programou
seriamente em shell sabe que este detalhe no bash torna inviável loops
while por pipe no bash, pois ele não conseguirá mudar variáveis
externas dentro deste loop. Ex.:

x=1
echo "a
b
c
d
e
f" | while read var
do
  x="${x}${var}"
done
echo $x

Tem muito mais coisa, mas acho que isso é suficiente pra uma
explicaçãozinha *básica*. =)

---- FIM DA MENSAGEM ORIGINAL ----


Atenciosamente,
Eri Ramos Bastos


reply via email to

[Prev in Thread] Current Thread [Next in Thread]