Reini Urban wrote:
Geoffrey KRETZ schrieb:
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 ?
FAQ: http://cygwin.com/faq/faq_3.html#SEC43
cygwin's /bin/sh is ash, on most other platforms it is /bin/bash.
If you want it to behave it exactly like on other platforms, and you use
bash specific constructs, use the /bin/bash shebang.
If I specified "#! /bin/bash" at the first line of my shell script, is
it enough to make Cygwin understand that I want to use bash instead of
ash ??
--
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/