Pertanyaan saya mirip dengan yang ini , tetapi saya mencari sesuatu yang sedikit berbeda. Saya memiliki PC notebook yang saya gunakan untuk mengakses mesin Linux di jaringan dalam dua skenario berbeda:
Saya memiliki koneksi kabel langsung ke jaringan.
Saya memiliki koneksi tidak langsung ke jaringan. Ada mesin gateway di jaringan yang terpapar ke Internet, yang bisa saya gunakan untuk membangun terowongan SSH ke host di jaringan. Ini jelas koneksi yang jauh lebih lambat, latensi tinggi.
Direktori rumah saya dapat diakses jaringan dari semua mesin, sehingga mereka membagikan salinan saya .bashrc
. Saya ingin menambahkan fungsionalitas untuk .bashrc
mendeteksi yang mana dari dua skenario yang saya ikuti dan bertindak sesuai (secara teknis, akan ada tiga skenario, di mana yang ketiga adalah saya masuk ke mesin lokal saya, tetapi itu harus dengan mudah ditangani ). Saya ingin melakukan hal-hal seperti:
alias ssh ssh -X
ketika saya di jaringan lokal, tetapi saya tidak ingin menggunakan penerusan X melalui Internet.export EDITOR=gvim
ketika saya di jaringan lokal, tetapiexport EDITOR=vim
ketika saya jauh.
Dan seterusnya. Berdasarkan jawaban sebelumnya, sepertinya saya harus dapat mencapai sesuatu seperti ini dengan memeriksa konten SSH_CLIENT
(jika ada) dan melihat apakah alamat IP klien cocok dengan salah satu adapter jaringan pada mesin lokal saya. Saya pikir saya akan melihat apakah ada cara yang lebih licin atau lebih kuat untuk mencapai ini.