This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Re: Cygwin Here power toy
- From: Randall R Schulz <rrschulz at cris dot com>
- To: Andrew Ellerton <ellers at iinet dot net dot au>, Sven Köhler <skoehler at upb dot de>
- Cc: cygwin at cygwin dot com
- Date: Sun, 20 Oct 2002 08:13:11 -0700
- Subject: Re: Cygwin Here power toy
- References: <3DB2B34F.2050302@upb.de>
Andrew,
At 06:58 2002-10-20, Andrew Ellerton wrote:
>> @="c:\\cygwin\\bin\\bash.exe --login -c \"cd '%1' ; exec /bin/bash
-rcfile ~/.bashrc\""
>
>can you think of any better way to start bash?
>the above creates two bash.exe in memory:
>one executing /etc/profile and the cd-command
>and one showing the prompt.
The first shell executes a single line of shell commands, namely to change
directory and run another shell. The second shell runs as the "normal"
interactive shell. Net effect - looks like the shell has started in a
different directory. Admittedly a bit hacky, having two shells running for
no good reason, but it does the job. I'm not sure if shells are very
expensive in terms of memory. If not, then its a bit kludgey, but
otherwise its ok.
There are not (ever) two shells running as a result of invoking this
command string. The second one overlays the first in the same process.
That's what the "exec" built-in of the shells does.
Note that the directory name expanded as "~" is $HOME. If $HOME is not set,
"~" expands to the empty string. The "~userName" syntax consults the
password file, so it still works even in the absence of a $HOME variable.
>bash --login -c "command"
>exits after executing the command.
>is there any bash-internal command, that let's you show a prompt after
>the command is executed? or any switch that forces bash to not exit?
There's bound to be... anyone got any idea? I saw another posting to the
list where the cd gets written to a file then the login script looks for
the file and changes to that dir... that's an option.
Avail yourself of environment variables.
Andrew
Randall Schulz
Mountain View, CA USA
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/