libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: win32 short name and IFS='~'


From: Boehne, Robert
Subject: RE: win32 short name and IFS='~'
Date: Thu, 17 Apr 2003 16:53:21 -0500

Chuck,

Ok, let me get this out.
"Hello, I'm Robert, and I've never used shell functions."
Admitting it is the first step to recovery. ;)

Seriously, I'm not familiar with what can be done with them,
but if you can find a simple way to replace IFS with shell
functions, let us all know!

Regards,

Robert

-----Original Message-----
From: Charles Wilson [mailto:address@hidden
Sent: Thursday, April 17, 2003 4:49 PM
To: Boehne, Robert
Cc: Naofumi Yasufuku; Robert Boehne; address@hidden;
address@hidden
Subject: Re: win32 short name and IFS='~'


Actually, wasn't all this IFS stuff just a poor substitute for shell 
functions?  Now that we allow honest-to-god shell functions, why not use 
those?  Or am I missing something?

--Chuck


Boehne, Robert wrote:
> Naofumi,
> 
> #! /bin/sh
> # How about ditching use of IFS totally in favor of a series of commands
> # to be executed.  For example, we currently use
> show="echo"
> run=
> 
> test_cmds='echo "do command one"~echo "do command two"~echo "do command 
> three"'
> 
> #then, rather than do this:
>       save_ifs="$IFS"; IFS='~'
>       for cmd in $test_cmds; do
>         IFS="$save_ifs"
>         $show "$cmd"
>         $run eval "$cmd" || exit $?
>       done
>       IFS="$save_ifs"
> 
> # suppose we used
> archive_cmds_1='echo "do command one"'
> archive_cmds_2='echo "do command two"'
> archive_cmds_3='echo "do command three"'
> archvie_cmds_max=3
> 
> echo " We would do something like this: "
> n=0
> cmd=
> while true; do
>   n=`expr $n + 1`
>   cmd="\$archive_cmds_$n"
>   if test $n -le $archvie_cmds_max ; then
>     $show "$cmd"
>     $run eval "$cmd" || exit $?
>   else
>     break;
>   fi
> done
> 
> The real trick to making this work is to get the
> shell quoting exactly the same so that we can simply
> take current command (~ separated lists) and convert them to
> a series without changing the quoting.
> The script above doesn't do this :(  but it can be used
> by all to attempt to figure out the right quoting to
> have the desired result.  This type of solution has
> the distinct advantage of not using any other character
> for IFS, and so cannot ever clash with characters in
> commands.
> I would also encourage the use of shell functions to
> simplify this, or any other bit of libtool for that matter.
> 
> Thanks,
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]