Cygwin Here power toy

Randall R Schulz rrschulz@cris.com
Sun Oct 20 09:12:00 GMT 2002


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/



More information about the Cygwin mailing list