Bash $ HISTFILE에 기록 된 명령에 타임 스탬프를 유지하고 싶습니다. 가능합니까?
man bash
정보 소스로 사용하여 설정하지 못했습니다 .
다른 옵션은 다음과 같습니다.
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
OS X Mountain Lion (한숨)에 있다고 언급 했어야합니다. uname -a
나에게 준다 :
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
그리고 echo $BASH_VERSION
나에게 :
3.2.48(1)-release
이것을 추가하려고했습니다.
export HISTTIMEFORMAT='%b %d %I:%M:%S %p '
그리고 이런 종류의 타임 스탬프 만 명령 앞에 붙입니다.
#1349057791
변수 ( echo $HISTTIMEFORMAT
)를 반향하려고 시도 하면 올바른 값을 갖습니다.
흥미 롭습니다!
나는 이것을 디버깅하기 위해 .profile을 완전히 제거했습니다. 여전히 재미있는 타임 스탬프 만 :
#1349058320
추가 문제를 해결하는 방법을 모르겠습니다 ... :(
솔루션 : 히스토리가 아닌 $ HISTFILE을 직접 읽는 스크립트를 사용했기 때문에 에포크 기반 타임 스탬프 (1970 년 1 월 1 일 협정 세계시 (UTC) 이후의 초)가 날짜 형식화 문자열을 사용하여 변환되지 않았습니다. . 평범한 것이 history
잘 작동합니다. 대신 사용하겠습니다.
아마 strftime 형식이 잘못되었습니다. 매뉴얼 페이지에 최소한 두 개의 예제가 포함되어 있으면 도움이됩니다. + % Y- % m- % d % H- % M- % S?
—
Robottinosino
HISTTIMEFORMAT
?