Saya berada di workstation linux di jaringan, dengan distrib "lama". Selanjutnya, shell login diberlakukan untuk CSH. Saya sudah bertanya kepada Admin apakah mungkin untuk beralih ke yang lain (saya ingin melakukan bash), tetapi itu tidak boleh dilakukan ...
Oleh karena itu, saya menjalankan bash dari baris perintah, sebagai shell non-login interaktif (sebenarnya saya menggunakan terminal gnome dan gnome dengan profil yang menjalankan / bin / bash -i sebagai perintah). Banyak, jika tidak semua skrip saya menggunakan bash jadi saya menjalankannya darinya memanggil bash dengan skrip. Itu berantakan tapi berhasil.
Saya memiliki .cshrc dengan variabel lingkungan, alias dan opsi untuk csh yang didefinisikan dalam file .login dan .cshrc di $ HOME saya. Saya juga memiliki .bashrc / .bash_profile (yang dialihkan ke .bashrc jika ini shell interaktif) / .bash_aliases dengan beberapa variabel lain dan beberapa yang sama. Ketika saya menjalankan bash shell, saya mewarisi dari variabel environment yang didefinisikan dalam file .login saya. Saya ingin mengabaikan semua yang diatur dalam yang ini ketika saya menjalankan bash.
Saya ingin tahu apakah ada opsi untuk menjalankan bash, mengabaikan setiap variabel lingkungan lainnya yang sebelumnya ditentukan dari sesi login CSH saya ketika saya menjalankan BASH shell saya.
Apakah Anda punya ide?
Terima kasih
Anda ingin menjalankan bash sebagai shell non-interaktif, di dalam CSH, dengan variabel bash didefinisikan dalam .bash_profile bukan?
Anda bisa menembak:
tetapi saya tidak bisa mengujinya.
sumber
./bash --login
menjalankan inisource .bash_profile
man bash
. Jika Anda hanya ingin menghapus variabel dari lingkungan sajaunset VARNAME1 VARNAME2
.env | awk -F= '/^\w/ {print $1}' | xargs
:, lalu hapus yang penting dan tidak disetel.