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?

Inkayacu
sumber
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
enzotib
sumber
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.

Philipp Hanes
sumber