This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin Here power toy


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]