X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:reply-to:message-id:to:subject :in-reply-to:references:mime-version:content-type :content-transfer-encoding; q=dns; s=default; b=Fk8ifgI5O4ZGyr8t d0Z3Ce6QJzv/wR7dK/5Jc05qGsgu3yfESg9/pAYHv2Wvgu9i8cR4EXncIg9toaTj W8q03mkLjXvfOZ5KC3orsZxvzzNmdCiDnpVQH8hVjI2CbQN/kmlZFB5DnDTPrlqs Abb1ddcakYJyMms2/wzZJ2KOj7Y= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:from:reply-to:message-id:to:subject :in-reply-to:references:mime-version:content-type :content-transfer-encoding; s=default; bh=1Ks3N0b7QCq5wfi/b4u2rX B7g/A=; b=usrOhbI+MoCNYoeC7vH42fibHMgarPgFt1+7XHxG5w/k42m6pWSPd2 mxEWNmOigMF59LS8Rssc8KJEREl4moKeHfxIFbAgzceYCANgabv7NfhI2vj2b/GM UD+yaYnyxeMIML4quS4sSNSZGfR0tlwE5v5dEn/cN7aDi6iL+MhwQ= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: 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 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=3.5 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,KAM_THEBAT,SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: smtpback.ht-systems.ru Date: Tue, 9 Sep 2014 17:08:01 +0400 From: Andrey Repin Reply-To: cygwin AT cygwin DOT com Message-ID: <836662195.20140909170801@yandex.ru> To: Gary Johnson , cygwin AT cygwin DOT com Subject: Re: latest cygwin: 'run' problem In-Reply-To: <20140909011413.GC4187@phoenix> References: <87a96hrki4 DOT fsf AT Rainer DOT invalid> <54060378 DOT 2070108 AT gmail DOT com> <5406680D DOT 4030105 AT verizon DOT net> <540761FA DOT 1040902 AT verizon DOT net> <87ppfcqyc7 DOT fsf AT Rainer DOT invalid> <540A600A DOT 6090201 AT verizon DOT net> <540A6817 DOT 9080207 AT verizon DOT net> <20140906201229 DOT GA9220 AT phoenix> <20140908174606 DOT GA4187 AT phoenix> <1448944831 DOT 20140909024857 AT yandex DOT ru> <20140909011413 DOT GC4187 AT phoenix> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Greetings, Gary Johnson! >> @START "" /D "%~1" "%~dp0\mintty.exe" >> > ------------------------- run_bash_here.sh ------------------------- >> > -------------------------------------------------------------------- >> This all is just not needed. >> Just create a shortcut in "Sent to" to your bash-here.cmd - job done, reap the >> rewards. > Thanks very much for the example. It took me a while to figure out > what that does. The key parts are in 'set /?' and 'call /?'. 'cmd /?' is also a good read. > I copied that line to bash-here.cmd and created a > shortcut to it from my SendTo directory. It almost works, but there > are a few things my version does that yours does not. > First, yours works only if you execute it while the target directory > is selected in its parent directory. Mine also works to run mintty > in the current directory if you execute it while a file in that > directory is selected. That makes little sense. Could be solved, though. CMD doesn't offer a way to distinguish between file and directory, but we have test. @ECHO OFF SETLOCAL SET CYGWIN=nodosfilewarning "%~dp0\test.exe" -f "%~f1" ENDLOCAL IF ERRORLEVEL 1 ( SET DEST=%~f1 ) ELSE ( SET DEST=%~dp1 ) START "" /D "%DEST%" "%~dp0\mintty.exe" > Second, my version runs a login shell which sets up the environment > correctly, e.g., puts /usr/local/bin:/usr/bin: at the head of PATH. I already have environment correctly set at login. It's not like i'm logging into random directories across my filesystem over and over again. I just start a shell where I need it. > Just telling mintty to run a login shell isn't sufficient, however, > because that also sets the current directory to your home directory, > so you then need to cd to the target directory with the target path > translated to Unix form. That's why I don't start another login shell. It's inefficient. I already logged it. > Those issues may be easy to fix, but as I said, I don't know my way > around cmd very well. > It might actually be better if the script always started bash in the > parent directory of the selected file. That would be more > consistent and could be simpler to implement. I'll try to find an > explanation of cmd parameter expansion and see what I can figure > out. -- WBR, Andrey Repin (anrdaemon AT yandex DOT ru) 09.09.2014, <16:00> Sorry for my terrible english... -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple