On 2014-01-28, at 05:16, Марк Коренберг wrote:

> $ dpkg -l | fgrep dash
> ii  dash                                   0.5.7-2ubuntu2
>                POSIX-compliant shell
> 
> $ exec 9<no_such_file && echo TEST
> dash: 1: cannot open no_such_file: No such file
> 
> $ exec 9<no_such_file || echo TEST
> dash: 2: cannot open no_such_file: No such file
> 
> So, I cannot test this operation without using $?
> 
> in BASH this works as expected (even in sh mode)
>  
o I believe POSIX (which I haven't read recently)
  allows, but does not require, failure of cd or
  redirection to terminate a noninteractive shell.
  (Were you trying your test interactively or in a
  script?)

o In various shells, I have become accustomed to $? being
  set only by wait() after exec() of a command.

I have become accustomed to dealing with this by coding:
    ( some_command <no_such_file ) && echo TEST
    ( some_command <no_such_file ) || echo TEST

I have never tried to deal with the failure of "exec redirection".

-- gil

--
To unsubscribe from this list: send the line "unsubscribe dash" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to