Se você quiser apenas enviar a variável PS1
e ela não contiver um '
(aspas simples), tente:
ssh targethost -t "PS1='$PS1'; exec bash"
O local .bashrc
pode sobrescrever PS1
(graças a Dennis Williamson por apontar isto).
Existem maneiras para transmitir variáveis de ambiente sobre ssh , mas elas geralmente são desabilitadas na configuração do servidor. Se a diretiva PermitUserEnvironment
estiver ativada na configuração do servidor e cada usuário tem seu próprio par de chaves (sim, você pode não ter tanta sorte), você pode adicionar environment="PS1=…"
à linha em ~/.ssh/authorized_keys
correspondente à sua chave.
Se quiser manter sua própria configuração em uma conta de usuário compartilhada, você pode criar seu próprio diretório de arquivo de configuração e definir a variável de ambiente HOME
para apontar para esse diretório.
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
Crie links simbólicos no diretório mrstatic.home
apontando para a entrada correspondente no diretório pai quando você quiser compartilhar um arquivo com os outros usuários.
Em seguida, faça o login com
ssh targethost -t 'HOME=~/mrstatic.home; exec bash''
Se você estiver disposto a modificar o .profile
(ou outro arquivo de inicialização), provavelmente poderá automatizar suas configurações. Muitos sites permitem que LC_*
variáveis de ambiente (normalmente elas são usadas para configurações de localidade). Se ambas as condições forem atendidas, você poderá definir uma variável que não é realmente usada para localidades, digamos LC_USER
, no lado do cliente, e testá-la no servidor .profile
.
(É claro que as contas compartilhadas são uma má ideia, mas percebo que você pode não estar em condições de mudar essa situação.)