> 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