PS1
Değişkeni göndermek istiyorsanız ve değişken '
(tek tırnak) içermiyorsa , şunu deneyin:
ssh targethost -t "PS1='$PS1'; exec bash"
Yerel olsa .bashrc
da üzerine yazabilirsiniz PS1
( bu işaret için Dennis Williamson sayesinde ).
Ortam değişkenlerini ssh üzerinden aktarmanın yolları vardır , ancak bunlar genellikle sunucu yapılandırmasında devre dışı bırakılır. Eğer PermitUserEnvironment
yönerge etkindir sunucu yapılandırması ve her kullanıcı (evet, bu kadar şanslı olmayabilir) kendi anahtar çiftini vardır ekleyebilir environment="PS1=…"
içinde çizgisine ~/.ssh/authorized_keys
sizin anahtarına karşılık gelen.
Kendi yapılandırmanızı paylaşılan bir kullanıcı hesabında tutmak istiyorsanız, kendi yapılandırma dosyası dizininizi oluşturabilir ve HOME
ortam değişkenini bu dizini işaret edecek şekilde ayarlayabilirsiniz .
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
mrstatic.home
Bir dosyayı diğer kullanıcılarla paylaşmak istediğinizde, dizinde üst dizindeki karşılık gelen girdiyi gösteren sembolik bağlantılar oluşturun .
Ardından,
ssh targethost -t 'HOME=~/mrstatic.home; exec bash'`
Uzaktan kumandayı .profile
(veya başka bir başlatma dosyasını) değiştirmek istiyorsanız, muhtemelen ayarlarınızı otomatikleştirebilirsiniz. Birçok site LC_*
ortam değişkenlerine (normalde yerel ayarlar için kullanılır) izin verir . Bu koşulların her ikisi de karşılanırsa, aslında LC_USER
istemci tarafında yerel ayarlar için kullanılmayan bir değişken ayarlayabilir ve bunu sunucuda test edebilirsiniz .profile
.
(Elbette paylaşılan hesaplar kötü bir fikirdir, ancak bu durumu değiştirebilecek bir konumda olmayabileceğinizin farkındayım.)
"PS1='$PS1' bash -i"
(ve neden de değilexec
)?