[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug in function return statement in while subshell
From: |
Chet Ramey |
Subject: |
Re: Bug in function return statement in while subshell |
Date: |
Tue, 30 Jul 2013 09:50:47 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
On 7/29/13 1:15 PM, Roman Rakus wrote:
> On 07/29/2013 05:06 PM, Chet Ramey wrote:
>> On 7/29/13 10:55 AM, Roman Rakus wrote:
>>> I didn't take a look on where the problem could be, but it is discussed on
>>> stackoverflow [1].
>>>
>>> Looks like return builtin falsely exit execution of while loop instead of
>>> function.
>>
>> What would you like to see happen? You're in a subshell: the function
>> can't return, since this is not the shell that called it. Do you want
>> parent and child shells both continuing execution after the function call?
>>
>> Chet
>>
> As Chris said, some error, because return is not in function.
>
> Example:
> f1() {
> : | while :; do return 3; done
> echo $?
> return 1
> }
> echo $?
> f1; echo $?
> return 2
>
> Looks like the bash doesn't restore the i'm-in-function indicator when
> running compound command (like while or if) in functions' subshell.
I'm not sure exactly what you mean by this, since the `return' call in
the pipeline inside the function completes without an error. Bash
prints an error message due to the `return 2' not occurring while in
a function.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/
- Re: Bug in function return statement in while subshell, (continued)
Re: Bug in function return statement in while subshell, Roman Rakus, 2013/07/29
- Re: Bug in function return statement in while subshell, Pierre Gaston, 2013/07/30
- Re: Bug in function return statement in while subshell, Chris Down, 2013/07/30
- Re: Bug in function return statement in while subshell, Pierre Gaston, 2013/07/30
- Re: Bug in function return statement in while subshell, Chris Down, 2013/07/30
- Re: Bug in function return statement in while subshell, Pierre Gaston, 2013/07/30
- Re: Bug in function return statement in while subshell, Chris Down, 2013/07/30
- Re: Bug in function return statement in while subshell, Greg Wooledge, 2013/07/30
Re: Bug in function return statement in while subshell,
Chet Ramey <=
Re: Bug in function return statement in while subshell, Roman Rakus, 2013/07/30
Re: Bug in function return statement in while subshell, Greg Wooledge, 2013/07/30
Re: Bug in function return statement in while subshell, Chris Down, 2013/07/30
Re: Bug in function return statement in while subshell, Chet Ramey, 2013/07/30