9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] How to move to rc from sh/bash
Date: Sun, 10 Feb 2008 12:47:56 -0500	[thread overview]
Message-ID: <f2a5c42bf76c887240e8ec236169825b@quanstro.net> (raw)
In-Reply-To: <41F23396-1019-4C8E-A65A-E42824B0E23B@mac.com>

> 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	other threads:[~2008-02-10 17:47 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-09  7:53 Hongzheng Wang
2008-02-09  8:01 ` mattmobile
2008-02-09  8:41   ` Hongzheng Wang
2008-02-09  8:57     ` mattmobile
2008-02-09  9:00 ` erik quanstrom
2008-02-09  9:21   ` Hongzheng Wang
2008-02-09 10:11 ` Charles Forsyth
2008-02-09 10:27   ` Lluís Batlle
2008-02-09 15:06     ` Uriel
2008-02-09 17:54     ` Charles Forsyth
2008-02-09 21:59       ` geoff
2008-02-09 13:00   ` Anthony Sorace
2008-02-10 16:59 ` Gorka Guardiola
2008-02-10 17:16   ` Pietro Gagliardi
2008-02-10 17:47     ` erik quanstrom [this message]
2008-02-10 18:12     ` Martin Neubauer
2008-02-11 15:04       ` erik quanstrom
2008-02-11 23:03         ` Martin Neubauer
2008-02-11 23:25           ` Pietro Gagliardi
2008-02-20 15:04             ` maht
2008-02-20 15:08               ` Federico G. Benavento
2008-02-20 15:24               ` erik quanstrom
2008-02-20 15:55                 ` maht
2008-02-11 23:59       ` Uriel
2008-02-12 11:57         ` Martin Neubauer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f2a5c42bf76c887240e8ec236169825b@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).