Bisakah saya membuat file histori bash terpisah untuk setiap profil terminal?


18

Saya menggunakan skrip bash untuk memulai gnome-terminal dengan banyak tab, setiap tab menggunakan profil yang berbeda, direktori kerja, dan dalam beberapa kasus mengeksekusi perintah di dalam tab.

Dalam situasi ini, saya ingin tombol panah atas untuk mengambil perintah yang digunakan di tab tertentu. Apakah ini mungkin?


Saya khawatir, saya tidak berpikir ada cara untuk menentukan profil dari shell.
tumbleweed

Jawaban:


16

Saya kira Anda dapat menggunakan perintah khusus gnome-terminal untuk setiap profil, misalnya

bash -c 'PROFILE=default_profile exec bash'

atau

bash -c 'PROFILE=screen_profile exec screen -U'

atau serupa.

Lalu masuk ~/.bashrc

if [[ -n $PROFILE ]]; then
    HISTFILE=~/.bash_history."$PROFILE"
fi

10

Selama ttyperintah memberi Anda hasil yang terpisah (yang tentunya harus dalam lingkungan Unix standar, meskipun saya kadang-kadang memiliki perilaku yang salah di cygwin dengan emulator terminal tertentu), Anda dapat menggunakannya untuk memisahkan hal-hal, juga.

Saya memiliki sesuatu seperti berikut ini di .bashrc:

export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-`

Yang mungkin terlihat seperti berlebihan, tetapi Anda mendapatkan idenya. Itu membagi keluar berdasarkan

  1. mesin apa yang saya pakai,
  2. siapa saya, dan
  3. terminal apa saya.

Dan Anda dapat menambahkan lebih banyak lagi jika Anda memikirkan hal-hal yang relevan bagi Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.