This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: Problem with basename
- To: klaus dot berndl at sdm dot de
- Subject: Re: Problem with basename
- From: Earnie Boyd <earnie_boyd at yahoo dot com>
- Date: Fri, 16 Feb 2001 09:31:22 -0500
- CC: cygwin at sourceware dot cygnus dot com
- References: <C9A98ED35114D31197D000805FEA668E027B19BB@mucexch.muc.sdm.de>
- Reply-To: cygwin at sourceware dot cygnus dot com
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?!
>
> Any ideas what can be the problem?
>
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.
Earnie.
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple