Maxwillian Miorim escreveu:
On 3/16/07, Junior Polegato - Linux <[EMAIL PROTECTED]> wrote:
  Quanto comecei com Linux eu queria saber por que de "shell", então fui
lendo coisas a respeito e encontrei que foi o nome que Louis Pouzin deu
à linguagem num documento (entre 1964 e 1965 sobre Multics) no qual
relata a programação com os comandos de linha de comando, que ele mesmo
criou a idéia de linha de comando e chamou de "runcom" e ainda estava no
começo o conceito de sistema de arquivos. "runcom" é até inteligível,
mas "shell"... :-\
Shell é a casca, usa-se esta expressão pois a interface que executa
comandos no nível mais alto do sistema operacional é a interface do
modo de usuário, logo esta é a casca do sistema. Totalmente
inteligível.
Está aí, eu nunca iria imaginar "shell" como "casca", sempre pensei em "escudo", no sentido de proteção, e "concha", no sentido do código estar fechado, que é o oposto. Mas foi bom para saber o sentido que Louis adotou. Valeu!

  De lá para cá, outros vêm aperfeiçoando o "shell", que evoluiu como
linguagem para AWK, TCL e atualmente o Perl, enquanto com linha de
comando C-Shell, tcsh, ksh, zsh e hoje bash. Quando surgiu a idéia de
identificação de usuário, se não me engano em 1971, então fazia-se
scripts mirabolantes para trocar o final do prompt para saber se esta
como root ou usuário, e por incrível que parece, também sem explicação,
como root usavam o símbolo # e como usuário o $ (talvez pela seqüência
do teclado e visto que ~, `, !, @ já eram usados para outras coisas,
pegaram o # e o $, e como # vem primeiro... :-D
Na verdade não. Estas linguagens são coisas bem diferentes do shell
script, uma forma utilizada para automatizar interações feitas no
shell. Das três que citou o Perl é a mais antiga, seu objetivo era
apenas efetuar filtros com expressões regulares de forma fácil e ágil,
hoje ele tem muitos recursos além do regex... :P
Bom, até onde eu saiba, AWK data de 1977 e Perl de 1987, quanto ao TCL, falha minha, nem seio o que está fazendo aí... :-D
AWK, apesar de muito usado em scripts do shell não é baseado em nenhum
shell. Na verdade o propósito do AWK é processar textos, tanto por
meio de arquivos como os streams.
TCL também não tem relação com o shell :)
"Originally "born out of frustration"[1]—according to the author—with
programmers devising their own (poor quality) languages intended to be
embedded into applications, Tcl quickly gained wide acceptance on its
own and is generally thought to be easy to learn, but powerful in
competent hands. It is most commonly used for rapid prototyping,
scripted applications, GUIs and testing. Tcl is also used for CGI
scripting." (trecho da wikipedia, links abaixo)
Estes "scripts mirabolantes" na verdade são um "if" que o "sistema de
perfil" do shell roda (se uid = 0 então mostra #, senão $...), os
marcadores servem apenas para alertar o usuário que ele está em modo
privilegiado (root) ou não. Sobre a sequencia eu não sei, nosso layout
de teclado é diferente de muitos outros, num layout de portugal, por
exemplo, a / é digitada com "shift" + 7 e não ao lado do ";" do
teclado abnt2... :)
É que como já tinha que fazerem o "if", já incrementavam uma porrada de coisas, como limitar tamanho do prompt, etc.
  O Bash de hoje em dia já tem um "comando" do prompt, o \$, o qual já
identifica o usuário e se for uid=0 retorna # senão $, daí todos usam o
# e $ por já ter a facilidade e não precisar reinventar a roda...
Meu bash não tem este comando "\$", e ele está no formato "padrão"
pois a primeira coisa que fiz após instalar o etch esta semana foi
mudar meu shell para o tcsh :)
Além do $ há também o % para indicar "rodando em ambiente não
privilegiado", como acontece no csh e derivados.
http://en.wikipedia.org/wiki/AWK_%28programming_language%29
http://en.wikipedia.org/wiki/Tcl
http://en.wikipedia.org/wiki/Shell_%28computing%29
No meu está assim:

$ echo $PS1
[EMAIL PROTECTED] \W]\$

onde o \$ no final é o que eu disse... ;)


--
Atenciosamente,

          Junior Polegato

          Um peregrino de problemas; Um pergaminho de soluções!
          Página Profissional: http://www.juniorpolegato.com.br


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Responder a