GNU/Linux >> Belajar Linux >  >> Linux

Sejarah Hancur?

Dalam mode gui, ketika pengguna membuka lebih dari satu terminal, bagaimana terminal menulis ulang file riwayat pengguna itu? alasan saya bertanya adalah karena, sangat mungkin bahwa di setiap terminal pengguna akhirnya menjalankan perintah yang berbeda. Jadi, apakah file riwayat akhirnya menyimpan perintah dari semua terminal atau hanya dari yang pertama dibuka? Atau adakah skema lain yang digunakan untuk mengatasi situasi ini?

Jawaban yang Diterima:

Itu sepenuhnya tergantung pada bagaimana shell memilih untuk menanganinya

bash secara default akan menimpa file riwayat dengan riwayat lokal setiap shell saat keluar, jadi shell terakhir yang keluar menang. histappend opsi akan menyebabkannya ditambahkan ke riwayat master sebagai gantinya (shopt -s histappend ).

zsh melakukan hal yang sama secara default, dan memiliki beberapa opsi untuk mengatasinya:

  • appendhistory — Riwayat setiap shell ditambahkan ke file master history saat shell keluar
  • incappendhistory — File riwayat master diperbarui setiap kali baris dijalankan di shell apa pun, alih-alih menunggu hingga shell itu keluar
  • sharehistory — Seperti incappendhistory , tetapi juga menarik perubahan dari file riwayat master ke semua shell yang berjalan, sehingga Anda dapat menjalankan perintah dalam satu shell lalu tekan Naik di shell lain dan lihat

Linux
  1. Pergantian Riwayat Gagal Saat Diimplementasikan Dalam Script Shell?

  2. Tangguhkan Sementara Bash_history Pada Shell yang Diberikan?

  3. Bagaimana Agar Type-ahead Terapkan Ke Bash History Search (ctrl-r)?

  1. Riwayat Arsip Tanpa Keluar dari Shell?

  2. Sejarah baris perintah di Linux

  3. Perintah sejarah Linux

  1. Bagaimana Cara Menjalankan Perintah di Shell Tanpa Menyimpannya ke Riwayat? [Kiat Linux]

  2. CentOS / RHEL :Cara menonaktifkan riwayat shell BASH

  3. Kembali ke direktori sebelumnya di shell