shell scripting problems
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
> 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