Tôi có thể tạo một tệp lịch sử bash riêng cho từng cấu hình thiết bị đầu cuối không?


18

Tôi sử dụng tập lệnh bash để bắt đầu gnome-terminal với nhiều tab, mỗi tab sử dụng một cấu hình khác nhau, thư mục làm việc và trong một số trường hợp thực thi một lệnh trong tab.

Trong tình huống này, tôi muốn dùng phím mũi tên lên để lấy các lệnh được sử dụng trong một tab cụ thể. Điều này có thể không?


Tôi sợ, tôi không nghĩ có cách nào để xác định hồ sơ từ vỏ.
tumbleweed

Câu trả lời:


16

Tôi cho rằng bạn có thể sử dụng lệnh tùy chỉnh gnome-terminal cho mỗi cấu hình, ví dụ:

bash -c 'PROFILE=default_profile exec bash'

hoặc là

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

hoặc tương tự.

Sau đó trong ~/.bashrc

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

10

Miễn là ttylệnh cung cấp cho bạn các kết quả riêng biệt (điều chắc chắn sẽ xảy ra trong bất kỳ môi trường Unix tiêu chuẩn nào, mặc dù tôi đã có những hành vi sai trái trong cygwin với các trình giả lập thiết bị đầu cuối nhất định), bạn cũng có thể sử dụng điều đó để phân tách mọi thứ.

Tôi có một cái gì đó như sau trong .bashrc:

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

Điều này có vẻ như quá mức cần thiết, nhưng bạn có được ý tưởng. Nó tách nó ra dựa trên

  1. tôi đang dùng máy gì vậy
  2. tôi là ai và
  3. Tôi đang dùng thiết bị đầu cuối nào.

Và bạn có thể thêm nhiều hơn nữa nếu bạn nghĩ về những thứ có liên quan đến bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.