Problem with basename
Earnie Boyd
earnie_boyd@yahoo.com
Fri Feb 16 06:31:00 GMT 2001
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
More information about the Cygwin
mailing list