delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/10/31/04:17:21

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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: <3FA2288C.1B256348@dessent.net>
Date: Fri, 31 Oct 2003 01:17:00 -0800
From: Brian Dessent <brian AT dessent DOT net>
Organization: My own little world...
X-Accept-Language: en,en-US
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: launch shell script from windows explorer
References: <bnsri5$un$1 AT sea DOT gmane DOT org>
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - host.linuxsv3.net
X-AntiAbuse: Original Domain - cygwin.com
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - dessent.net
Note-from-DJ: This may be spam

Hans Horn wrote:
> 
> Dear cygwinners,

As long as we're not cyglosers...

> after searching the archives w/o luck, I'd ask this mailing list.
> 
> I'd like to know how I would go about the following:
> 
> I'd like to launch a shell script from within windows explorer (either
> double-click or via context menu) in a way that:
>  - a console (or rxvt window, preferrably) is opened in the folder where the
> script resides
>  - the script is executed
>  - the cnsole stay open after the script has finished
> 
> So far I have managed only the first bit (console/rxvt) + script execution,
> but the console closes immediately when the script is done.

I don't know if there's a better way to do this, but you might be able
to achieve the desired effect by adding an explict call to the shell
after the script... for example, the windows command line might resemble

\cygwin\bin\bash -lc ". somescript.sh && bash -i"

This results in two copies of bash being used, but I don't see a way
around that.  If you want the prompt to appear even if the script fails
then change '&&' to ';'.  If you don't want it to start in your home
directory (and you don't care about variables like the path being
initialized for you, and the rest of /etc/profile) then omit the -l
parameter which tells it to be a login shell.  If you want it to not
start in your home directory but still want the path set correctly, then
you'll have to come up with a workaround.  One way might be something
like:

\cygwin\bin\bash -c ". ~/set-path.sh && . ~/somescript.sh && bash -i"

Where set-path.sh is like /etc/profile except without the final "cd
$HOME", and somescript.sh is the thing you want to actually run.

I think others on this list have suggested cleaner ways around this
problem of needing the path setup but not wanting to start in $HOME, so
you might try searching the archives.

Brian

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019