X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <16086654.post@talk.nabble.com> Date: Sun, 16 Mar 2008 18:11:58 -0700 (PDT) From: nlian To: cygwin AT cygwin DOT com Subject: Re: How to capture error in Cygwin, $? is not working In-Reply-To: <20080313085625.GC18407@calimero.vinschen.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: norliansyah AT gmail DOT com References: <16021741 DOT post AT talk DOT nabble DOT com> <20080313085625 DOT GC18407 AT calimero DOT vinschen DOT de> X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hi Corinna & all, Thanks for the advise. I got it! :) Cheers, Lian Corinna Vinschen-2 wrote: > > On Mar 12 23:09, nlian wrote: >> >> Hi, >> >> I want to write a simple script to start and stop windows service >> remotely. >> Here is the script: >> >> #!/usr/bin/bash >> sc \\\\servername start "MyService" >> echo $? >> >> ======= >> The above script return the following messages: >> [SC] StartService: OpenService FAILED 1060: >> >> The specified service does not exist as an installed service. >> >> 0 >> ======= >> >> What I don't understand is why $? return 0 and not 1060 or any other >> error code. I want to capture the error code returned from windows >> program >> How to do this in Cygwin? Please advise. > > What you get is the exit value from the sc command. Sc returns 0. What > sc prints is the error code it got from the service manager API. It's a > pity that sc doesn't return a useful exit code but there's nothing > Cygwin can do about the exit codes of Windows tools. > > `net start MyService' returns an exit code of 2, Cygwin's > `cygrunsrv -S MyService' returns 1. Unfortunately both tools are not > capabale to start services on a remote server. > > What you can do is something along the lines of > > sc \\\\servername start "MyService" | grep -q START > echo $? > 1 > > Nothing keeps you from evaluating the output of the sc command > in any elaborate way you can think of. Think grep, sed, awk, ... > > > Corinna > > -- > Corinna Vinschen Please, send mails regarding Cygwin to > Cygwin Project Co-Leader cygwin AT cygwin DOT com > Red Hat > > -- > 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/ > > > -- View this message in context: http://www.nabble.com/How-to-capture-error-in-Cygwin%2C-%24--is-not-working-tp16021741p16086654.html Sent from the Cygwin list mailing list archive at Nabble.com. -- 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/