How to execute a script in zsh and then become interactive?
execute, interactive, shell, zsh
Solution
Not really what you were asking for, but should have the desired result. You use an environment variable to pass the name of the user-specific script to source to `.zshrc` (or other appropriate startup file).
urxvt -e 'USERSCRIPT=scriptname zsh'
Then in `.zshrc` for the actual user, include
. $USERSCRIPT
(All of this is not to say that there isn't an option to run a command then remain in interactive mode; I just can't find a way to do it, so I offer this workaround.)
Problem
I want to run a predetermined set of commands after the invocation of `zsh` (i.e. after .zshrc is executed) that returns the user to an interactive shell when complete. Things like this comes to my mind: ``` urxvt -e 'zsh -c ". scriptname"' ``` but instead of exiting `zsh` and the terminal once the script finishes, I want an interactive shell at the end. The idea is to simply save users from having to type ". scriptname" whenever they log in. Application: Several users are using the same account (strange but true) and I want to help in adjusting user specific settings. Yes, I know that one could use different accounts for that :-)