This is the mail archive of the cygwin@sources.redhat.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Problem with basename


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

AltStyle によって変換されたページ (->オリジナル) /