If all you need is to split the window and open the shell in the newly created window, you should be able to add this:
(split-window-horizontally nil)
(other-window 1)
(shell nil)
(other-window 1) ;; return you to the original window.
to the end of your .emacs
or .emacs.d/init.el
depending on how you initialise emacs.
Alternatively, make it a separate function, and bind to a key command. (add these to .emacs
instead of the above code.)
e.g.
(defun split-window-for-shell ()
"Split the current window and open a shell in the new window."
(interactive)
(split-window-horizontally nil)
(other-window 1)
(shell nil)
(other-window 1) ;; return you to the original window.
)
And bind with
(global-set-key (kbd "C-|") split-window-for-shell)
So you can use it when you want, and not just at startup.
(It will always show the same instance of shell.)