> It produces the string ' bla$e''o' in rc syntax. The one thing I like  
> about two quoting styles  in the Bourne shell is that I can use  

it's not so much the number of quotes (there are three, by the way),
it's the complex rules.  for example:

        ; /bin/bash
        $ x=1
        $ echo "$x"
        1
        $ echo '$x'
        $x
        $ echo `echo "\$x"`
        1                               <- reparsing rule.
        $ echo "'$x'"
        '1'
        $ echo "'\$x'"
        '$x'
but
        $ echo `echo 
> The proper is
> 
> if [ $bla -eq $otherbla ]; then
>       :
> fi
> 
> The advantage of rc is that that : is not necessary!
> 
> Oh, and let's not forget what happens when bla or otherbla is nil! In  
> rc,
>       if (~ $bla $otherbla) { }
> is all that is needed - no hooks.

that's actually a problem.  while ~ is nice, it only does shell matching.
what if you want regexp matching or test (aka on unix [) operators?
then you have exactly the same problem with missing variables.

> And what I dislike:
> - >[2=] is not the same as >[2]/dev/null (some programs crash with  
> the former

this isn't a shell issue.  >[2=] closes fd 2.  it's not clear to me that
arbitrary plan 9 programs are expected to run without one of the
three fds they've been promised by convention.

- erik

Reply via email to