Size: 1013
Comment: moo
|
Size: 1047
Comment: Eh? /dev/fd was not a Linux invention and is widely available. Procsub's _only_ advantage is the fifo fallback (and only 3 shells support it). Also IMO it's better to pass a seekable file.
|
Deletions are marked like this. | Additions are marked like this. |
Line 12: | Line 12: |
~ $ bash --rcfile - <<<'cowsay moo; exec <&2' -i +bash-4.3$ cowsay moo; exec <&2 |
bash --rcfile <(printf %s 'my; commands; here') }}} Or: {{{ ~ $ bash --rcfile /dev/fd/3 -i 3<<<'cowsay moo' |
I want to launch an interactive shell that has special aliases and functions, not the ones in the user's ~/.bashrc.
Just specify a different start-up file:
bash --rcfile /my/custom/bashrc
Or:
bash --rcfile <(printf %s 'my; commands; here')
Or:
~ $ bash --rcfile /dev/fd/3 -i 3<<<'cowsay moo' _____ < moo > ----- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || +bash-4.3$ exit exit
Variant question: I have a script that sets up an environment, and I want to give the user control at the end of it.
Put exec bash at the end of it to launch an interactive shell. This shell will inherit the environment (which does not include aliases, but that's OK, because aliases suck). Of course, you must also make sure that your script runs in a terminal -- otherwise, you must create one, for example, by using exec xterm -e bash.