Followup: Bash Prompt Here

Luke Bakken luke_bakken@yahoo.com
Tue Oct 3 06:43:00 GMT 2000


Andy you're right you don't need all of this, except that on my machine,
running win2k advanced server (i don't know if it's different for other
versions of windows (probably is)) it changes to the parent directory of
the folder you click on, not the actual directory of the folder. Plus, the
handy desktop shortcut for cygwin doesn't put you in your home directory
either.

Neither of these is a big deal, you just need one cd after starting bash,
but i think to go to the actual folder you need some kind of hack.

On Tue, 3 Oct 2000, Luke Bakken wrote:

> Actually, this does not work, as you are not passing the directory
> argument to bash in any way.
> 
> You can try this, however, given to me by someone else recently on this
> mailing list:
> 
> [HKEY_CLASSES_ROOT\Directory\shell\BashHere\command]
>    c:\cygwin\sygwin2.bat %1
> 
> where cygwin2.bat =
> 
> @set STARTIN=%1 %2 %3 %4 %5 %6 %7 %8 %9
> @c:\cygwin\bin\bash.exe --login -i
> 
> Then, in your /etc/profile, change the cd $HOME line to this:
> 
> if [ ! -z "$STARTIN" ]; then
>    if [ -d "$STARTIN" ]; then
>      cd "$STARTIN"
>    else
>      echo "$STARTIN is not a valid path."
>      cd $HOME
>    fi
>    unset STARTIN
> else
>    cd $HOME
> fi
> 
> Mind that there is a limit with this solution to the number of spaces in
> the directory argument.  The method of redirecting %1 to a file also works
> well, and actually was my first solution, but i like the above better.  
> The real problem is that, unlike cmd.exe, bash does not support an
> "initial command" argument like the /K switch on cmd.exe.  There is a -c
> argument to bash, but bash exits after executing that command.
> 
> 
> 
> On Tue, 3 Oct 2000, Andy Philpotts wrote:
> 
> > Hello Evan,
> > 
> > This seems a little simpler to me:
> > 
> > [HKEY_CLASSES_ROOT\Directory\shell\BashHere\command]
> >    d:\cygwin\bin\bash.exe --login -i
> > 
> > No extra files or indirection needed
> > 
> > Monday, October 02, 2000, 6:20:09 PM, you wrote:
> > 
> > EM> Hi,
> > 
> > EM> I've come up with a way to right-click on a directory in Windows Explorer 
> > EM> and have a menu option called "Bash Prompt Here" that will open a bash 
> > EM> prompt with the selected directory as the current one.  It's a bit kludgy, 
> > EM> but I thought I'd submit it for any who may find it useful.  Works under 
> > EM> Win98 and WinME.  Be interested to know how it goes on NT variants.
> > 
> > EM> This is using cygwin 1.x and assumes that your cygwin installation is in 
> > EM> "c:\cygwin" which is mounted as your root directory.  Change to suite your 
> > EM> own environment.
> > 
> > EM> Create a file "c:\cygwin\start_at.bat" with the following three lines:
> > 
> > EM>         @echo off
> > EM>         echo cd %1 > c:\cygwin\start_dir.txt
> > EM>         c:\cygwin\cygwin.bat
> > 
> > EM> Add the following four lines to the end of "/etc/profile" (or 
> > EM> "c:\cygwin\etc\profile"):
> > 
> > EM>         if [ -f /start_dir.txt ] ; then
> > EM>           . /start_dir.txt
> > EM>           rm /start_dir.txt
> > EM>         fi
> > 
> > EM> Lastly, apply the following registry patch file (which I name 
> > EM> "bash_prompt_here.reg"):
> > EM> ----------snip----------
> > EM> REGEDIT4
> > 
> > EM> [HKEY_CLASSES_ROOT\Directory\shell\BashHere]
> > EM> @="&Bash Prompt Here"
> > 
> > EM> [HKEY_CLASSES_ROOT\Directory\shell\BashHere\command]
> > EM> @="C:\\WINDOWS\\COMMAND.COM /E:4096 /c C:\\cygwin\\start_at.bat \"%L\""
> > 
> > EM> ----------snip----------
> > 
> > EM> That's it.  If anybody can offer any improvements, let me know.
> > 
> > EM> E.
> > 
> > 
> > EM> --
> > EM> Want to unsubscribe from this list?
> > EM> Send a message to cygwin-unsubscribe@sourceware.cygnus.com
> > 
> > 
> > 
> > --
> > Andy Philpotts
> > Senior Software Developer
> > CalendarCentral Inc.
> > [w] 919/654-6200  xt.155
> > [c] 919/656-1166
> > [e] andy.philpotts@calendarcentral.com
> > [www] www.calendarcentral.com
> > 
> > Andy says: I don't suffer from insanity, I enjoy every minute of it. 
> > 
> > 
> > 
> > --
> > Want to unsubscribe from this list?
> > Send a message to cygwin-unsubscribe@sourceware.cygnus.com
> > 
> 
> 


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com



More information about the Cygwin mailing list