| www.delorie.com/archives/browse.cgi | search |
| Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
| List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
| List-Archive: | <http://sourceware.org/ml/cygwin/> |
| List-Post: | <mailto:cygwin AT cygwin DOT com> |
| List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
| Sender: | cygwin-owner AT cygwin DOT com |
| Mail-Followup-To: | cygwin AT cygwin DOT com |
| Delivered-To: | mailing list cygwin AT cygwin DOT com |
| Message-ID: | <419B769E.4060905@x-ray.at> |
| Date: | Wed, 17 Nov 2004 17:04:46 +0100 |
| From: | Reini Urban <rurban AT x-ray DOT at> |
| User-Agent: | Mozilla/5.0 (Windows; U; Windows NT 5.0; de-AT; rv:1.8a4) Gecko/20040927 |
| MIME-Version: | 1.0 |
| To: | Geoffrey KRETZ <gk AT 4js DOT com> |
| CC: | cygwin AT cygwin DOT com |
| Subject: | Re: long command executed via a variable fails |
| References: | <419B70A9 DOT 6020203 AT 4js DOT com> |
| In-Reply-To: | <419B70A9.6020203@4js.com> |
| X-IsSubscribed: | yes |
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.
--
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/
--
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/
| webmaster | delorie software privacy |
| Copyright © 2019 by DJ Delorie | Updated Jul 2019 |