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=()
for(i) {
        if (~ $i -)
                files=($files /fd/0)
        if not
                files=($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,  <tlaro...@polynum.com> 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 à 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.
> --
>        Thierry Laronde <tlaronde +AT+ polynum +dot+ com>
>                      http://www.kergis.com/
> Key fingerprint = 0FF7 E906 FBAF FE95 FD89  250D 52B1 AE95 6006 F40C
>
>



-- 
Federico G. Benavento

Reply via email to