Re: Can arithmetic evaluation trap more than just division by zero?
On 04/06/2010 01:29 PM, Roman Rakus wrote: Is it possible to add more traps to arithmetic evaluation? Initially I wanted answer for this question :) RR
Re: Can arithmetic evaluation trap more than just division by zero?
> On 04/06/2010 01:29 PM, Roman Rakus wrote: > > Is it possible to add more traps to arithmetic evaluation? > Initially I wanted answer for this question :) I'm not convinced of the need. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRUc...@case.eduhttp://cnswww.cns.cwru.edu/~chet/
bash exit command should be unconditional
Hi, I found out a very unusual feature of bash which makes it to act really unexpected. I understand that pipelines are executed in a separate subshell, but I really think 'exit' command should be absolute. Consider a trivial code: #!/bin/bash echo Start ps -ef | while read proc do echo $proc exit 1 done echo Continue I would expect never see "Continue" printed, I didn't put any conditional checks to simplify the example, but I really expect the script to be completely aborted when it gets to 'exit', not having to add additional checks or replace pipeline with temporary files Sincerely yours, Vadym Chepkov
Re: bash exit command should be unconditional
Vadym Chepkov schrieb: > I would expect never see "Continue" printed The 'exit' command exits the subshell you just created. http://bash-hackers.org/wiki/doku.php/scripting/processtree There's also a FAQ about it, E4. Jan
Re: bash exit command should be unconditional
Vadym Chepkov wrote: > I found out a very unusual feature of bash which makes it to act > really unexpected. I understand that pipelines are executed in a > separate subshell, but I really think 'exit' command should be > absolute. Consider a trivial code: Note that dash also behaves this way too. > #!/bin/bash > > echo Start > ps -ef | while read proc > do > echo $proc > exit 1 > done > echo Continue > > I would expect never see "Continue" printed, I didn't put any > conditional checks to simplify the example, but I really expect the > script to be completely aborted when it gets to 'exit', not having > to add additional checks or replace pipeline with temporary files This is a variation on Bash FAQ E4. Pipes create subshells. You can avoid this by avoiding piping to the while loop. Instead use a redirection and no subshell will be created. #!/bin/bash echo Start while read proc do echo $proc exit 1 done < <(ps -ef) echo Continue The "<(command)" syntax is documented in the Process Substitution section of the manual. Bob