I'm trying to run a script to build a package--I use the package users
hint--which has the following:
package=$(whoami) #In this case I'm man-pages-3.5.3
packagedir=/sources
archive=$packagedir/$package.tar.*
Later when I want to define a variable containing the name of the
directory into which tar will extract the archive, I have
<pkgsrcdir=$(tar -tf $archive | grep / | head -n 1 | cut -d '/' -f 1)>
The script bails out at this point complaining that there's no file or
directory by that name. Running <sh -x script_name reveals "archive =
""" (BTW sh reports that $packagedir and $package are properly defined.)
I have discovered that when I use {ls /sources/$(whoami) or $<anything
that gives "man-pages-3.5.3">.tar*} as a package user, the return is
<"man-pages-3.5.3*": No such file or directory.> /sources is world
readable and writable.
If, however, I issue <ls /sources/man-pages*> the return is
man-pages-3.5.3.tar.xz
The pattern matching is fine for root:
foo=man-pages-3.5.3
ls /sources/$foo.tar.*
gives the right answer.
I've never encountered this before. My hunch is that it's some
environment variable. I know that pattern matching involves globbing
and clobbering, but I don't know enough--and can't find the info--to
even experiment.
In the past, something like this usually leads to, "I can't see the
forest because there are so many trees in the way." I don't know if I'm
really focusing on those trees or not.
In the meantime, I'm going to go through the bash man page. I will be
grateful for any pointers or suggestions.
Thanks,
Dan
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page