On Fri, Jan 25, 2019 at 04:21:22PM +0300, Ilya Maximets wrote:
> There is some issue with parsing of redirection options
> on some shells. For example:
> 
>   $ (exec -a name true) 2>&1 >/dev/null || echo "failed"
>   sh: 10: exec: -a: not found
>   failed
> 
>   $ (exec -a name true) >/dev/null 2>&1 || echo "failed"
>   failed
> 
> So, the order of redirections matters for some reason.
> Let's replace our current version with simple redirection of stderr.
> This version seems to work in most of shells except [t]csh. But it's
> really tricky to write portable redirections that works with csh and
> this shell will not be used by the testsuite on most of the systems.
> 
> With the new version:
> 
>   # cat test.sh
>   ((exec -a myname true 2>/dev/null) && echo "OK") || echo "fail"
> 
>   # sh ./test.sh
>   fail
>   # bash ./test.sh
>   OK
>   # tcsh ./test.sh
>   -a: Command not found.
>   fail
> 
> Signed-off-by: Ilya Maximets <[email protected]>

Thanks for the fix.  I applied this to master.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to