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

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

Re: [shell-script] E essa ? Quem poderá me responder ...


From: Tiago Peczenyj
Subject: Re: [shell-script] E essa ? Quem poderá me responder ...
Date: Fri, 17 Feb 2012 22:13:48 -0200

o shell é a interface do usuario com o kernel. vc pode invocar comandos
built-ins como o cd (para mudar de diretorio corrente), pode ter aliases e
funcoes e executar arquivos via uma chamada de sistema estilo execve onde
vc passa os argumentos e as variaveis de ambiente, alem de poder conectar
processos via pipes ou redirecionar alguma saida ou entrada.

mas no fim das contas, possivelmente vai ser invocado alguma chamada de
sistema para o kernel.

2012/2/17 Rodrigo Boechat <address@hidden>

> **
>
>
> Eu acredito que o mérito da questão não é algo exatamente abordado pela
> linguagem.
> Tipo... Dentro do objetivo da lista...
>
> Em todo caso, isso me lembra coisas da faculdade.
>
> Se meu pensamento estiver correto, sim. Todo programa/script executado,
> tem que passar pelo shell.
> É o encapsulamento dos módulos [ou níveis, ou shells... O.O" Algo do
> tipo...], que se não me engano é assim:
> +------------+
> | Shell .....|
> | +--------+ |
> | | Kernel | |
> | +--------+ |
> +------------+
>
> Aí sobre o shell vem a interface gráfica e "fru-frus"...
> Isso que me lembro.
>
> Em 17-02-2012 13:53, Alysson Gonçalves de Azevedo escreveu:
>
> > A pergunta foi pro Julio, mas vou responder e também perguntar (no
> final).
> >
> > De maneira geral o Shell interpreta o comando e depois manda pro Kernel
> >> executar ?
> >>
> > Sim. Se vc criar o seguinte arquivo:
> > $ cat bashteste.sh
> > #!/bin/bash -x
> > TESTE="um texto"
> > echo $TESTE
> > ao executar o arquivo, vai sair o seguinte
> > $ ./bashteste.sh
> > + TESTE='um texto'
> > + echo um texto
> > um texto
> > note que na segunda linha, o shell não envia para o echo, o $TESTE, e
> sim o
> > conteúdo de dessa variável.
> >
> > Há algum comando que seja executado/interpretado diretamente pelo Kernel,
> >> ou seja, sem passar pelo Shell ?
> >>
> > Aqui entra a minha duvida...
> > Eu costumo associar o "shell" ao "terminal", ou seja, quando executo um
> > programa pelo terminal, esse programa passa pelo shell.
> > Mas e quando abrimos algo pela interface grafica, clicando nos icones
> e/ou
> > pelo Alt+F2, o programa também será interpretado pelo shell, certo?
> >
> > Alysson Gonçalves de Azevedo
> > (11) 8491-7730
> >
> >
> >
> >
> > Em 17 de fevereiro de 2012 08:53, Emerson Domingues Souto - H2M<
> > address@hidden> escreveu:
> >
> >> **
> >>
> >>
> >> Julio,
> >>
> >> Agora eu fiquei com dúvidas que antes eu nem sequer imaginaria que
> fossem
> >> surgir:
> >>
> >> De maneira geral o Shell interpreta o comando e depois manda pro Kernel
> >> executar ?
> >> Há algum comando que seja executado/interpretado diretamente pelo
> Kernel,
> >> ou seja, sem passar pelo Shell ?
> >>
> >> PS: Anteontem eu vi o seu livro no metrô mas na hora eu estava sem
> >> dinheiro pra comprar, hoje eu passei lá de novo, todo feliz pra comprar
> mas
> >> já não tinha mais. A partir de agora eu vou andar sempre com o dinheiro
> na
> >> carteira pra não deixar escapar a próxima oportunidade rsrsrs.
> >>
> >> Emerson Domingues Souto
> >> Tecnologia da Informação
> >> Marítima Seguros S/A
> >>
> >>> -----Mensagem original-----
> >>> De: address@hidden [mailto:shell-
> >>> address@hidden] Em nome de Julio C. Neves
> >>> Enviada em: quinta-feira, 16 de fevereiro de 2012 16:39
> >>> Para: address@hidden
> >>> Assunto: Re: [shell-script] E essa ? Quem poderá me responder ...
> >>> Fala Fernanadão,
> >>> essa resposta foi para o Alysson. Ele disse:
> >>> "Júlio,
> >>>
> >>> Então seria mais ou menos assim: "a contrabarra faz com que o Shell não
> >>> reconheça. Então o Shell faz o que tem que fazer sem olhar o que vem
> >> após a
> >>> contrabarra, e chama o kernel quando necessário (chamada aos
> processos),
> >>> daí o kernel retira a contrabarra.", é isso?"
> >>>
> >>> Abcs,
> >>> Julio
> >>> *Já foi lançado "Bombando o
> >>> Shell<http://www.brasport.com.br/index.php?dispatch=products.view&pro
> >>> duct_id=666>
> >>> ". *
> >>> *Show **de interfaces gráficas sob Shell!*
> >>> *
> >>> *
> >>>
> >>>
> >>>
> >>> Em 16 de fevereiro de 2012 16:11, Fernando Mercês
> >>> <address@hidden>escreveu:
> >>>
> >>>> **
> >>>>
> >>>>
> >>>> Julião,
> >>>>
> >>>> Essa resposta foi pra quem? rs
> >>>>
> >>>> Foi exatamente o que disse. Ele não interpreta o caractere seguinte,
> >>>> mas o utiliza (manda para execução).
> >>>>
> >>>> Abraço.
> >>>>
> >>>>
> >>>> Att,
> >>>>
> >>>> Fernando Mercês
> >>>> Linux Registered User #432779
> >>>> www.mentebinaria.com.br
> >>>> softwarelivre-rj.org
> >>>> @MenteBinaria
> >>>> ------------------------------------
> >>>> II Hack'n Rio - 23 e 24/11
> >>>> hacknrio.org
> >>>> ------------------------------------
> >>>>
> >>>> 2012/2/16 Julio C. Neves<address@hidden>:
> >>>>
> >>>>> Negativo. O shell não interpreta o caractere seguinte, mas antes de
> >>>> mandar
> >>>>> para execução, ele tira a contrabarra.
> >>>>>
> >>>>>
> >>>>> Abcs,
> >>>>> Julio
> >>>>> *Já foi lançado "Bombando o
> >>>>> Shell<
> >>> http://www.brasport.com.br/index.php?dispatch=products.view&product_i
> >>> d
> >>>> =666
> >>>>> ". *
> >>>>> *Show **de interfaces gráficas sob Shell!*
> >>>>> *
> >>>>> *
> >>>>>
> >>>>>
> >>>>>
> >>>>> Em 16 de fevereiro de 2012 14:51, Alysson Bruno
> >>>>> <address@hidden>escreveu:
> >>>>>
> >>>>>> **
> >>>>>>
> >>>>>> Júlio,
> >>>>>>
> >>>>>> Então seria mais ou menos assim: "a contrabarra faz com que o Shell
> >>>>>> não reconheça. Então o Shell faz o que tem que fazer sem olhar o
> >>>>>> que vem
> >>>> após a
> >>>>>> contrabarra, e chama o kernel quando necessário (chamada aos
> >>>>>> processos), daí o kernel retira a contrabarra.", é isso?
> >>>>>>
> >>>>>> paz e amor (love and peace),
> >>>>>>
> >>>>>> Alysson Bruno
> >>>>>> Palmas(TO)
> >>>>>> Brasil
> >>>>>>
> >>>>>> http://abruno.com
> >>>>>>
> >>>>>> Leia: Heo Sargila:
> >>>>>>
> >>>>>>
> >>>> https://docs.google.com/leaf?id=0B7dyy5xT7QD-
> >>> YmUxODk1YWMtNzY4NS00MTg4L
> >>>> WI1NmUtODM4YmFhZjhjMGY0&hl=pt_BR
> >>>>>> <http://heosargila.blogspot.com/2011/09/novo-conto.html>
> >>>>>>
> >>>>>> Em 16 de fevereiro de 2012 11:45, Julio C. Neves
> >>>>>>
> >>>>>> <address@hidden>escreveu:
> >>>>>>
> >>>>>>> **
> >>>>>>>
> >>>>>>>
> >>>>>>> Fala Roberto,
> >>>>>>> vamos tomar um chope qdo vc tocar. Me avisa, tá?
> >>>>>>>
> >>>>>>> Vou tentar explicar melhor, de forma que a resposta sirva para vc
> >>>>>>> e
> >>>> para
> >>>>>> o
> >>>>>>> Alysson.
> >>>>>>>
> >>>>>>> Espaço é espaço e sublinha é sublinha. arquivo\ com\ espacos !=
> >>>>>>> arquivo_com_sublinha.
> >>>>>>>
> >>>>>>> A contrabarra (assim como aspas e apóstrofes) têm como função não
> >>>>>> permitir
> >>>>>>> a interpretação do Shell. Após resolver o que ele sabe (redir,
> >>>> variáveis,
> >>>>>>> coringas, aliases, chaves, ...), tira os caracteres de proteção
> >>>>>>> (que
> >>>> ele
> >>>>>>> sabe que foram colocados para ele), e manda o rm para a execução.
> >>>>>>>
> >>>>>>> Repare:
> >>>>>>> $ echo escrevi uma linha \
> >>>>>>>> muito grande
> >>>>>>> escrevi uma linha muito grande
> >>>>>>>
> >>>>>>> Como botei a contrabarra antes do<ENTER>, o Shell não o viu e,
> >>>>>>> por
> >>>> isso,
> >>>>>>> não encerrou a linha qdo dei<ENTER>, no entanto, qdo o echo
> >>>>>>> atuou, já
> >>>>>> não
> >>>>>>> tinha mais a malfadada contrabarra.
> >>>>>>>
> >>>>>>> È chato entender, mas se ainda não entenderam, reclamem que tento
> >>>>>> explicar
> >>>>>>> de outras formas.
> >>>>>>>
> >>>>>>>
> >>>>>>> Abcs,
> >>>>>>> Julio
> >>>>>>> *Já foi lançado "Bombando o
> >>>>>>> Shell<
> >>>>>>>
> >>> http://www.brasport.com.br/index.php?dispatch=products.view&product_i
> >>> d
> >>>> =666
> >>>>>>> ". *
> >>>>>>> *Show **de interfaces gráficas sob Shell!*
> >>>>>>> *
> >>>>>>> *
> >>>>>>>
> >>>>>>> Em 16 de fevereiro de 2012 11:41, Roberto Alves
> >>>>>>> <address@hidden
> >>>>>>>> escreveu:
> >>>>>>>
> >>>>>>>> Julio,
> >>>>>>>> essa eu nunca soube.
> >>>>>>>>
> >>>>>>>> Então quando se faz:
> >>>>>>>>
> >>>>>>>>> mv Arquivo\ com\ espacos.txt Arquivo_com_espacos.txt
> >>>>>>>> Seria a mesma coisa?
> >>>>>>>> É assim que a Shell interpreta o comando?
> >>>>>>>>
> >>>>>>>> abração,
> >>>>>>>> Roberto
> >>>>>>>>
> >>>>>>>> ps: Quando vamos marcar um chopp e sinuca?
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> Em 16 de fevereiro de 2012 11:20, Julio C. Neves
> >>>>>>>> <address@hidden>escreveu:
> >>>>>>>>
> >>>>>>>>> **
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Isso é pergunta de LPI... ;)
> >>>>>>>>>
> >>>>>>>>> Como o rm e o Shell estão em camadas diferentes do SO Linux,
> >>>>>>>>> o
> >>>> Shell
> >>>>>>> não
> >>>>>>>>> tem a menor ideia do que seja rm, mas, no seu caso, sabe que
> >>>>>>>>> se
> >>>>>> receber
> >>>>>>>> um
> >>>>>>>>> rm, terá de trocá-lo por rm -i.
> >>>>>>>>>
> >>>>>>>>> Qdo vc faz \rm vc esconde o r da interpretação do shell,
> >>>>>>>>> então ele
> >>>>>> não
> >>>>>>>> sabe
> >>>>>>>>> que tem de fazer a substituição. Veja bem: ele sabe que tem
> >>>>>>>>> algo
> >>>>>> antes
> >>>>>>> do
> >>>>>>>>> m, mas a contrabarra não permite que ele "veja" o que é.
> >>>>>>>>>
> >>>>>>>>> Vc tb obteria o mesmo efeito se fizesse 'r'm arq, ou 'rm'
> >>>>>>>>> arq, ou
> >>>> o
> >>>>>>> mesmo
> >>>>>>>>> com aspas.
> >>>>>>>>>
> >>>>>>>>> Abcs,
> >>>>>>>>> Julio
> >>>>>>>>> *Já foi lançado "Bombando o
> >>>>>>>>> Shell<
> >>>>>>>>>
> >>> http://www.brasport.com.br/index.php?dispatch=products.view&product_i
> >>> d
> >>>> =666
> >>>>>>>>> ". *
> >>>>>>>>> *Show **de interfaces gráficas sob Shell!*
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> Em 16 de fevereiro de 2012 08:37, miranda<
> >>>> address@hidden
> >>>>>>>>>> escreveu:
> >>>>>>>>>> Na minha shell tem alguns alias.
> >>>>>>>>>> Certo. E quem não tem ?
> >>>>>>>>>> Uma delas é a de rm. Veja
> >>>>>>>>>> alias rm='rm -i'
> >>>>>>>>>>
> >>>>>>>>>> Entretanto se "escapo" o comando \rm * , por exemplo ele
> >>>>>>>>>> remove sem perguntar como se tivesse feito rm -f *
> >>>>>>>>>>
> >>>>>>>>>> Alguém me explica o porquê ?
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> [As partes desta mensagem que não continham texto foram
> >>>> removidas]
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> ------------------------------------
> >>>>>>>>>>
> >>>>>>>>>> ----------------------------------------------------------
> >>>>>>>>>> Esta lista não admite a abordagem de outras liguagens de
> >>>>>> programação,
> >>>>>>>>> como
> >>>>>>>>>> perl, C etc. Quem insistir em não seguir esta regra será
> >>>> moderado
> >>>>>> sem
> >>>>>>>>>> prévio aviso.
> >>>>>>>>>> ----------------------------------------------------------
> >>>>>>>>>> Sair da lista: address@hidden
> >>>>>>>>>> ----------------------------------------------------------
> >>>>>>>>>> Esta lista é moderada de acordo com o previsto em
> >>>>>>>>>> http://www.listas-discussao.cjb.net
> >>>>>>>>>> ----------------------------------------------------------
> >>>>>>>>>> Servidor Newsgroup da lista: news.gmane.org
> >>>>>>>>>> Grupo: gmane.org.user-groups.programming.shell.brazil
> >>>>>>>>>>
> >>>>>>>>>> Links do Yahoo! Grupos
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>> [As partes desta mensagem que não continham texto foram
> >>>>>>>>> removidas]
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> [As partes desta mensagem que não continham texto foram
> >>>>>>>> removidas]
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> ------------------------------------
> >>>>>>>>
> >>>>>>>> ----------------------------------------------------------
> >>>>>>>> Esta lista não admite a abordagem de outras liguagens de
> >>>> programação,
> >>>>>>> como
> >>>>>>>> perl, C etc. Quem insistir em não seguir esta regra será
> >>>>>>>> moderado
> >>>> sem
> >>>>>>>> prévio aviso.
> >>>>>>>> ----------------------------------------------------------
> >>>>>>>> Sair da lista: address@hidden
> >>>>>>>> ----------------------------------------------------------
> >>>>>>>> Esta lista é moderada de acordo com o previsto em
> >>>>>>>> http://www.listas-discussao.cjb.net
> >>>>>>>> ----------------------------------------------------------
> >>>>>>>> Servidor Newsgroup da lista: news.gmane.org
> >>>>>>>> Grupo: gmane.org.user-groups.programming.shell.brazil
> >>>>>>>>
> >>>>>>>> Links do Yahoo! Grupos
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>> [As partes desta mensagem que não continham texto foram
> >>>>>>> removidas]
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>> [As partes desta mensagem que não continham texto foram removidas]
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> [As partes desta mensagem que não continham texto foram removidas]
> >>>>>
> >>>>>
> >>>>>
> >>>>> ------------------------------------
> >>>>>
> >>>>> ----------------------------------------------------------
> >>>>> Esta lista não admite a abordagem de outras liguagens de
> >>>>> programação,
> >>>> como perl, C etc. Quem insistir em não seguir esta regra será moderado
> >>>> sem prévio aviso.
> >>>>> ----------------------------------------------------------
> >>>>> Sair da lista: address@hidden
> >>>>> ----------------------------------------------------------
> >>>>> Esta lista é moderada de acordo com o previsto em
> >>>> http://www.listas-discussao.cjb.net
> >>>>> ----------------------------------------------------------
> >>>>> Servidor Newsgroup da lista: news.gmane.org
> >>>>> Grupo: gmane.org.user-groups.programming.shell.brazil
> >>>>>
> >>>>> Links do Yahoo! Grupos
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>> [As partes desta mensagem que não continham texto foram removidas]
> >>>
> >>>
> >>>
> >>> ------------------------------------
> >>>
> >>> ----------------------------------------------------------
> >>> Esta lista não admite a abordagem de outras liguagens de programação,
> >>> como perl, C etc. Quem insistir em não seguir esta regra será moderado
> >> sem
> >>> prévio aviso.
> >>> ----------------------------------------------------------
> >>> Sair da lista: address@hidden
> >>> ----------------------------------------------------------
> >>> Esta lista é moderada de acordo com o previsto em http://www.listas-
> >>> discussao.cjb.net
> >>> ----------------------------------------------------------
> >>> Servidor Newsgroup da lista: news.gmane.org
> >>> Grupo: gmane.org.user-groups.programming.shell.brazil
> >>>
> >>> Links do Yahoo! Grupos
> >>>
> >>
> >>
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://pacman.blog.br


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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