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: T.Collons
Subject: Re: [shell-script] Re: Valor da variável do subshell para o shell
Date: Thu, 25 May 2017 17:39:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1

Caro Tiago, me uno a Julio para decir que hacia tiempo que no se te veía por aquí.

Espero que todo este bien para ti y agradezco la ampliación (si eso es posible) a la respuesta de Julio, realmente quiza seria mejor otro nombre a Return, como tu dices, quizá fuera mejor llamarle "reterror" o algo parecido, pues el nombre de Return, confunde a los que hemos trabajado con otros lenguajes, en los que un Return devuelve el resultado de la función llamada, tanto si este resultado es un error o una variable, incluso algunos son capaces de devolver Array's.




El 24/05/17 a les 13:34, Tiago Peczenyj address@hidden [shell-script] ha escrit:
 
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

--



Pere

address@hidden




------------------------------------

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.




reply via email to

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