Bash Tips: Set Remote Variables
As I've mentioned, I'm now on DreamHost. It's pretty dreamy (as you
might expect), but [screen
][] is not allowed. This is a slight
inconvenience, since I rather like screen
and use it constantly. Plan
B involves running screen
locally and SSH'ing to DreamHost in every
window, but I lose my tailored bash prompt. Normally, my prompt looks
like this:
annika@aziz[0]:~$
I can immediately tell that screen
is running, as well as my window
number. This breaks down as soon as I SSH to DreamHost. I get a far more
generic prompt:
aestus@jezebel:~$
So, what to do? Set a variable on the remote side, in a roundabout sort of way:
ssh -t jezebel.dreamhost.com 'export MYVAR=myvalue &&
exec /bin/bash --login'
It doesn't look like much. It took me an hour to assemble. SSH to the
host, allocating a TTY with -t
. Run bash
on the remote side as a
login shell, executing the specified command. Export a variable, and
exec a sub-bash.
Yeah, that's it.
Update 12/15/2005: Trimmed the command a bit: the outer /bin/bash call is unnecessary.{@class=update}