Tôi muốn giữ dấu thời gian trên các lệnh được ghi trong Bash $ HISTFILE của tôi, điều đó có thể không?
Tôi đã không quản lý để thiết lập nó bằng cách sử dụng man bash
như một nguồn thông tin.
Các tùy chọn khác của tôi như sau:
function thebanana() {
local -r -a bash_commands=(
"ls"
# ... more coconut commands
)
for bash_command in "${bash_commands[@]}"; do
printf "${bash_command}"
printf ":"
done
}
export HISTFILE=banana
export HISTIGNORE="$(thebanana)"
export HISTSIZE=999999
export HISTFILESIZE=999999999
export HISTCONTROL=ignoredups:erasedups
Tôi nên đề cập đến tôi trên OS X Mountain Lion (thở dài). uname -a
đưa cho tôi:
Darwin CoconutMac.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64
và echo $BASH_VERSION
đưa cho tôi:
3.2.48(1)-release
Đã thử thêm điều này:
export HISTTIMEFORMAT='%b %d %I:%M:%S %p '
và nó chỉ tiền tố loại dấu thời gian này cho các lệnh:
#1349057791
Tôi thử lặp lại biến ( echo $HISTTIMEFORMAT
), nó có giá trị đúng.
Hấp dẫn!
Tôi thậm chí đã loại bỏ hoàn toàn .profile để gỡ lỗi này. Vẫn chỉ có dấu thời gian vui:
#1349058320
Tôi không biết cách khắc phục sự cố này ... :(
Giải pháp : Tôi đang sử dụng tập lệnh đọc trực tiếp $ HISTFILE, không phải là lịch sử tích hợp nên dấu thời gian dựa trên thời gian (giây kể từ Giờ phối hợp quốc tế (UTC) ngày 1 tháng 1 năm 1970) không được dịch bằng chuỗi định dạng ngày . Plain-old history
hoạt động tốt, tôi sẽ sử dụng thay thế.
HISTTIMEFORMAT
chưa?