From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: <20100413185224.GA1207@polynum.com> References: <20100413185224.GA1207@polynum.com> Date: Tue, 13 Apr 2010 16:47:22 -0300 Message-ID: From: "Federico G. Benavento" To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] APE notes Topicbox-Message-UUID: 010c8a52-ead6-11e9-9d60-3106f5b1d025 check: http://plan9.bell-labs.com/sources/plan9/sys/src/ape/cmd/README ln? come on! for quick stuff when running configure some big crap that needs it fn ln { cp $1 $2 } or even better fn ln { aux/stub $2; bind $1 $2 } for egrep and fgrep I get by with: aux/stub /bin/fgrep; bind /bin/grep /bin/fgrep I once ran a cross a weird cat so I had to: lotte% cat /rc/bin/ape/cat #!/bin/rc rfork e files=3D() for(i) { if (~ $i -) files=3D($files /fd/0) if not files=3D($files $i) } exec /$cputype/bin/cat $files and when everything fails: lotte% cat /bin/bison #!/bin/rc exec linuxemu.rc /tmp/mroot /usr/bin/bison $* On Tue, Apr 13, 2010 at 3:52 PM, wrote: > Hello, > > These notes about APE could be of some use to others. > > Context : I'm verifying that my compilation framework, made for POSIX, > is able to work for Plan9 too (for TeX and al.: everything works on > Unix, so time to verify the whole thing on Plan9). > > Note: this is not a plea to add more. ape/psh is not supposed, IMO, to > end in profile... > > - some utilities are included in POSIX.2, but are not in Plan9, > including under APE : find(1), id(1), expr(1) --- of course ln(1)---. > These are just the ones I stumbled upon since they were used in my > scripts. I have find a way, so you may find one to do differently. > Note: expr(1) is typically a thing I do _not_ use, since I always feel > uncomfortable with it; but I guess I wanted to "optimize" and avoid > forking a "| sed ..." -> that just highlights indeed that an interpreter > must have regexp handling natively =C3=A0 la rc(1) ~. > > - "grep -q" (with -s) is in SUS.v3, but Plan9 has "only" traditionnal > "grep -s". To not be eaten by a system that has "-q" and not "-s", I > ended with grep ... >/dev/null 2>&1. > > - sed(1) does not support single character duplication : \{m,n\}---I > have "unrolled" the patterns, since ".+" is not supported by POSIX > sed(1) (..* does the thing in this case for example). > > - I have been hit by aux/getflags I think that doesn't like too many > arguments (typically a sed(1) with a bunch of "-e s/.../.../g"). I have > simply put the rules in a temporary file, and used sed -f. > -- > =C2=A0 =C2=A0 =C2=A0 =C2=A0Thierry Laronde > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0http://www.kergis.com/ > Key fingerprint =3D 0FF7 E906 FBAF FE95 FD89 =C2=A0250D 52B1 AE95 6006 F4= 0C > > --=20 Federico G. Benavento