Mengkloning jalurnya mudah jika Anda dapat menjalankan program terminal dari baris perintah. Dengan asumsi Anda menggunakan xterm
, jalankan saja xterm &
dari prompt terminal yang ingin Anda tiru. Xterm baru akan mulai di direktori yang sama, kecuali Anda sudah mengonfigurasi untuk memulai sebagai shell login. Setiap variabel lingkungan yang diekspor juga akan terbawa, tetapi variabel yang tidak diekspor tidak akan.
Cara cepat dan kotor untuk mengkloning seluruh lingkungan (termasuk variabel yang tidak diekspor) adalah sebagai berikut:
# from the old shell:
set >~/environment.tmp
# from the new shell:
. ~/environment.tmp
rm ~/environment.tmp
Jika Anda telah mengatur opsi shell khusus, Anda harus menerapkannya kembali juga.
Anda bisa membungkus seluruh proses ini menjadi skrip yang mudah dijalankan. Biarkan skrip menyimpan lingkungan ke file yang diketahui, lalu jalankan xterm
. Minta .bashrc Anda memeriksa file itu, dan sumber dan hapus jika ditemukan.
Sebagai alternatif, jika Anda tidak ingin memulai satu terminal dari yang lain, atau hanya ingin lebih banyak kontrol, Anda bisa menggunakan sepasang fungsi yang Anda tentukan di .bashrc:
putstate () {
declare +x >~/environment.tmp
declare -x >>~/environment.tmp
echo cd "$PWD" >>~/environment.tmp
}
getstate () {
. ~/environment.tmp
}
EDIT : Berubah putstate
sehingga menyalin status "diekspor" dari variabel shell, sehingga cocok dengan metode lainnya. Ada hal-hal lain yang dapat disalin juga, seperti opsi shell (lihat help set
) - sehingga ada ruang untuk perbaikan dalam skrip ini.