Jika Anda hanya ingin mengirim PS1
variabel, dan itu tidak mengandung '
(kutipan tunggal), cobalah:
ssh targethost -t "PS1='$PS1'; exec bash"
Penduduk lokal .bashrc
mungkin akan menimpa PS1
(terima kasih kepada Dennis Williamson karena menunjukkan hal ini).
Ada beberapa cara untuk mengirimkan variabel lingkungan melalui ssh , tetapi biasanya dinonaktifkan di konfigurasi server. Jika PermitUserEnvironment
arahan diaktifkan dalam konfigurasi server dan setiap pengguna memiliki pasangan kunci sendiri (ya, Anda mungkin tidak seberuntung itu), Anda dapat menambahkan environment="PS1=…"
ke baris ~/.ssh/authorized_keys
sesuai dengan kunci Anda.
Jika Anda ingin menyimpan konfigurasi Anda sendiri di akun pengguna bersama, Anda dapat membuat direktori file konfigurasi Anda sendiri dan mengatur HOME
variabel lingkungan untuk menunjuk ke direktori itu.
ssh targethost mkdir mrstatic.home
scp .bashrc targethost:mrstatic.home/
Buat tautan simbolik di mrstatic.home
direktori yang menunjuk ke entri yang sesuai di direktori induk ketika Anda ingin berbagi file dengan pengguna lain.
Lalu, masuk dengan
ssh targethost -t 'HOME=~/mrstatic.home; exec bash'`
Jika Anda ingin memodifikasi remote .profile
(atau file inisialisasi lainnya), Anda mungkin dapat mengotomatiskan pengaturan Anda. Banyak situs mengizinkan LC_*
variabel lingkungan melalui (biasanya mereka digunakan untuk pengaturan lokal). Jika kedua kondisi ini terpenuhi, Anda dapat mengatur variabel yang sebenarnya tidak digunakan untuk lokal, katakanlah LC_USER
, di sisi klien, dan mengujinya di server .profile
.
(Tentu saja akun bersama adalah ide yang buruk, tetapi saya menyadari Anda mungkin tidak berada dalam posisi untuk mengubah situasi itu.)
"PS1='$PS1' bash -i"
(dan mengapa tidakexec
juga)?