shell scripting problems

Sahil Tandon sahil at tandon.net
Fri Nov 28 22:08:03 PST 2008


Tim Judd <tajudd at gmail.com> wrote:

> 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.
> 
> Any ideas on how to get sh to let pkg_info see everything?  Various escaping
> around the end $ just doesn't work.  I'll keep working on it, but i'd like
> to see how you all would suggest getting it to work.

I am not sure what the problem is, but are you just looking for the
output of "pkg_info -qxL" on the *first* instance of xorg-fonts-*?

% pkg_info -qL `pkg_info | grep xorg-fonts | head -1 | cut -d\  -f1`

FWIW, your regexp also looks faulty.

-- 
Sahil Tandon <sahil at tandon.net>


More information about the freebsd-questions mailing list