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,