Khi chạy các lệnh, đôi khi tôi sẽ muốn chạy một lệnh với các đối số trước đó. Để làm điều đó, bạn có thể sử dụng phím tắt này:
$ mkdir /tmp/new
$ cd !!:*
Thỉnh thoảng, thay vì sử dụng find, tôi sẽ thoát ra một vòng lặp một dòng nếu tôi cần chạy một loạt các lệnh trên danh sách các tệp.
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
Cấu hình các tùy chọn lịch sử dòng lệnh trong .bash_login (hoặc .bashrc) của tôi thực sự hữu ích. Sau đây là một loạt các cài đặt mà tôi sử dụng trên Macbook Pro.
Cài đặt sau đây giúp bash xóa các lệnh trùng lặp trong lịch sử của bạn:
export HISTCONTROL="erasedups:ignoreboth"
Tôi cũng kích thước lịch sử của tôi lên khá cao quá. Tại sao không? Nó dường như không làm chậm bất cứ điều gì trên bộ vi xử lý ngày nay.
export HISTFILESIZE=500000
export HISTSIZE=100000
Một điều khác mà tôi làm là bỏ qua một số lệnh từ lịch sử của tôi. Không cần phải nhớ lệnh thoát.
export HISTIGNORE="&:[ ]*:exit"
Bạn chắc chắn muốn thiết lập histappend. Nếu không, bash sẽ ghi đè lên lịch sử của bạn khi bạn thoát.
shopt -s histappend
Một tùy chọn khác mà tôi sử dụng là cmdhist. Điều này cho phép bạn lưu các lệnh nhiều dòng vào lịch sử dưới dạng một lệnh.
shopt -s cmdhist
Cuối cùng, trên Mac OS X (nếu bạn không sử dụng chế độ vi), bạn sẽ muốn đặt lại <CTRL> -S khỏi bị dừng cuộn. Điều này ngăn bash có thể diễn giải nó như là tìm kiếm phía trước.
stty stop ""