This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: Problem with basename
- To: cygwin at sourceware dot cygnus dot com
- Subject: Re: Problem with basename
- From: "Ehud Karni" <ehud at unix dot simonwiesel dot co dot il>
- Date: Fri, 16 Feb 2001 17:57:59 +0200
- CC: klaus dot berndl at sdm dot de, cygwin at sourceware dot cygnus dot com
- Organization: Simon & Wiesel Insurance agency
- References: <C9A98ED35114D31197D000805FEA668E027B19BB@mucexch.muc.sdm.de> <3A8D39BA.4A5EB7CC@yahoo.com>
- Reply-to: ehud at unix dot simonwiesel dot co dot il
On Fri, 16 Feb 2001 09:31:22 -0500, Earnie Boyd <earnie_boyd@yahoo.com> wrote:
>
> klaus.berndl@sdm.de wrote:
> >
> > i have written the following function:
> >
> > function check-el-compile ()
> > {
> > for file in $*; do
> > elcfile=`basename $file .el`.elc
> > if [ ! -f "$elcfile" ]; then
> > missinglist="$missinglist $file"
> > fi
> > done
> > echo "Not compiled Files: $missinglist"
> > unset el elc missinglist
> > }
> >
> > This function checks which of the passed *.el files are not compiled, i.e. the file <basename>.elc
> > does not exist. Example: abc.el is compiled if abc.elc exists in the same directory.
> >
> > Now the problem: if i pass the *.el files as argument to this function all is working fine.
> > But if i write the functon like follows:
> >
> > function check-el-compile ()
> > {
> > for file in `ls *.el`; do
> > # same as above.
> >
> > then the basename call doesn´t work, i.e. it always returns $file.
> > It seems that the output of ls contains "something" which confuses basename?!
> >
> Not really. Do you have any *.el files with whitespace characters or
> any non alphanumeric characters in the filename?
>
> You could modify your script to have the for loop call the function. I
> would also not use the work `file' as a variable name. I would change
> it to `File' or just F to prevent confusion with the executable of the
> same name.
>
I've just run your script and it worked with both forms. I would suspect
something is wrong with your command (may be you have tab instead of
space ? within the 2 basename ?). Run diff on the scripts and check it.
Earnie, Your comment on the "file" variable name is good programming
hint in general, but it sure is not the problem here.
Ehud.
--
@@@@@@ @@@ @@@@@@ @ @ Ehud Karni Simon & Wiesel Insurance agency
@ @ @ @@ @ Tel: +972-3-6212-757 Fax: +972-3-6292-544
@ @ @ @ @ @@ (USA) Fax and voice mail: 1-815-5509341
@ @ @ @ @ @ Better Safe Than Sorry
http://www.simonwiesel.co.il mailto:ehud@unix.simonwiesel.co.il
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple