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

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

Re: [shell-script] Re: Valor da variável do subshell para o shell


From: Tiago Peczenyj
Subject: Re: [shell-script] Re: Valor da variável do subshell para o shell
Date: Wed, 24 May 2017 13:34:10 +0200

Ola

Permita-me completar a resposta do Julio ( como se fosse possivel... )

o return dentro de funções do bash não funciona como o return de outras linguagens de programação - alias eu acho um pessimo nome nesse contexto, confunde as coisas.

o return vai emular o comando exit, por isso os valores que podem ser retornados são limitados. isso esta mais ligado a tratamento de erros, por exemplos.




2017-05-24 0:51 GMT+02:00 'Julio C. Neves' address@hidden [shell-script] <address@hidden>:
 

Hola Pere,
os brasileiros não precisam do Google translate traduzir espanhol. Aqui
todos entendem bem o seu idioma.

Tanto o return como o exit, só recebem números entre 0 e 255, mas veja essa
função:

function teste
{
{
echo Esta línea va a la pantalla
echo y esta también
} > /dev/tty
echo Pero esta vuelta a la variable retorno
}; export -f teste

retorno=$(teste)
echo $retorno

Abcs,
Julio

*​Damos treinamento em sua empresa por *
*um preço, no mínimo, 50% mais barato que qualquer curso,*
*com certificado e nota fiscal.*

​​
Nosso time de instrutores *in company* é formado somente por


autores
​ ​

de
*Best Sellers​ ​*​laureados ​sobre os temas. P. exemplo:

Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico

2017-05-23 18:44 GMT-03:00 'T.Collons' address@hidden [shell-script] <
address@hidden.br>:

>
>
> Hola a todos, como Julio me ha dicho varias veces, habla en castellano no
> en goole-translate.
>
>
> Yo tambien tengo esa duda, en bash se como hacer para que una funcion
> retorne un numero, "return 99999", por ejemplo, pero si lo que queremos
> obtener es una variable o un texto, alguien sabe como hacerlo?.
>
> un ejemplo tonto
>
>
> *function ejemplo*
>
> *{*
>
> *local mirecepcion="$?"*
>
> *[ $mirecepcion == "soy tonto" ] && devolver="es verdad" || devolver="No
> es verdad"*
>
> *return devolver*
>
> *}*
>
>
>
> *devolver="Que soy?" *
>
> *ejemplo "soy tonto"*
>
> *echo $devolver*
>
>
>
> *ejemplo "no soy tonto" *
>
> *echo $devolve*r
>
> como veis quiero obtener el resultado de la variable devolver.
>
> Ya se que si la variable es global siempre tendra el resultado de ella,
> pero si os fijais en la funcion la declaro como local, no se si me explico
> bien?
>
>
> Saludos a todos
>
>
>
> El 23/05/17 a les 21:46, address@hidden [shell-script] ha escrit:
>
>
>
> Caro Tiago
>
> Nesse exemplo estou imaginando que só precise do código de retorno, e não
> da saída do ls
>
> O que imagino é que poderia fazer dessa maneira:
>
> $ retorno=$(ls /etc >/dev/null; echo $?); echo $retorno
>
>
> ou usando um arquivo temporário como:
>
> $ (ls /etc >/dev/null; echo $? > /tmp/arq_tmp); cat /tmp/arq_tmp
>
> Isso é o que deseja? Atende sua expectativa?
>
> []'s
> Itamar
>
>
> --
>
>
>
> Pere
>
> address@hidden
>
>
>
> <http://www.imatge.com/>
>
> ------------------------------------
>
> AVIS LEGAL
>
> Nota de confidencialitat: Aquest missatge podria contenir missatges
> d'empresa i altre informació confidencial tutelada per les lleis de Europea
> i altres estats, Si Vostè el rep per error o sense ser una de les persones
> esmenades a la capçalera, haurà de destruir-lo sense copiar-lo ni
> revelar-l'ho o qualsevol altre acció relacionada amb el contingut del
> missatge i notificar-ho per correu electrònic a l'emissor del missatge.
>
> Les persones o entitats que incompleixin els deures de confidencialitat
> podran ésser perseguides davant dels Tribunals de Justícia sota l'empar de
> la legislació civil, penal i administrativa nacional i internacional.
>
> Gracies per la seva cooperació.
>
> ------------------------------------
>
> LEGAL NOTICE
>
> Confidentiality notice: This mail may include business and other
> confidential information protected under the laws of and other territories.
> if you are not one of the intended recipients of the message, you are
> legally obliged to delete the message content. Furthermore, you are kindly
> requested to report immediately the incident to the sender.
>
> Breach of confidentiality duties is a serious criminal offence in and
> other territories. Offenders shall be legally prosecuted worldwide.
>
> Thank you for your cooperation.
>
>
>
>
>

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




--
Tiago B. Peczenyj

http://about.me/peczenyj

reply via email to

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