In <[EMAIL PROTECTED]>, Tim Judd wrote:
Hi all,

I've been trying for a few weeks to try to get this to work, and the /bin/sh
keeps snagging the command line before passing it to pkg_info

I'll use a different shell if I need to, but since I got everything except
this one thing working, i'd rather keep it in sh

In the shell script, i have a
 pkg_info -qLx "^$PKG-[0-9,._]+$"
also tried (-X)tended regex instead of the standard rege(-x).

sh keeps erroring out saying various $" isn't a valid variable name, or
pkg_info doesn't find the anything there.  And it does exist.  This all came
around with me trying to automatically update a bunch of ports.  xorg-fonts
is outdated, but xorg-fonts-100dpi or xorg-fonts-75dpi isn't.  So the regex
returns multiple values (as above).  I just want the first, hence the
anchors.

I tried following on my 8.0-CURRENT box:

----8<----8<----
abbe [~] monte-cristo% exec sh
$ echo "^$PKG-[0-9,._]+$"
^-[0-9,._]+$
$ uname -a
FreeBSD monte-cristo.france 8.0-CURRENT FreeBSD 8.0-CURRENT #21: Mon Nov 10 
21:19:13 IST 2008     [EMAIL PROTECTED]:/usr/obj/usr/src/sys/ULE  amd64
---->8---->8----

And as you can see in above paste, 'sh' doesn't evaluate $" as variable as it has evaluated $PKG as variable. this works with 'sh' shipped with 8.0-CURRENT. Maybe some issue with your 'sh'.

HTH
--
Ashish Shukla

Attachment: pgpY72ON7smC7.pgp
Description: PGP signature

Reply via email to