long command executed via a variable fails

Geoffrey KRETZ gk@4js.com
Wed Nov 17 15:39:00 GMT 2004


Hello,

I've got a problem with a shell script used with Cygwin 1.5.10-3 on 
W2000 SP4 and W XP SP 2.

The following part of code works on all the Unix I've tested 
(HP-UX/AIX/Sun Solaris/Linux).

With Cygwin,  it doesn't :(


*Code:*

cmd="long shell command with differents parameters"
if [ ! eval $cmd ]; then
  echo "Error : $cmd"
  exit 1
fi



instead of eval $cmd, i've tried :
- `eval $cmd`
- eval `$cmd`
- $cmd
- `$cmd`

I've also try with a function without more success.

*Code:*

execCmd()
{
  eval $cmd
  return $?
}

cmd="long shell command with differents parameters"
if [ ! execCmd ]; then
  echo "Error : $cmd"
  exit 1
fi



The only way I've find is :

*Code:*

cmd="long shell command with differents parameters"
eval $cmd
if [ $? -ne 0 ]; then
  echo "Error : $cmd"
  exit 1
fi


Is it possible to make it work like the two first exemple or I'm obliged 
to use the third solution ?

Thanks in advance,

Geoffrey



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list