bash 프롬프트에서 명령이 실행된 시간을 표시하는 방법은 무엇입니까?

bash 프롬프트에서 명령이 실행된 시간을 표시하는 방법은 무엇입니까?

현재 내 bash 프롬프트는 다음과 같습니다

$ echo $PS1
# \[\e[34m\][\t]\[\e[0m\] \[\e]0;\w\a\]\[\e[34m\]\u@\h: \[\e[34m\]\w\[\e[0m\]\n$
$

문제는 \t프롬프트가 렌더링되는 시간만 표시된다는 것입니다(마지막 명령의 완료 시간에 매우 가깝습니다).

나에게는 현재 명령 프로세스의 시작 시간을 표시하는 것이 더 유용할 것입니다. 이를 수행할 수 있는 방법이 있습니까?

답변1

내가 올바르게 이해했다면 현재 명령을 시작할 때 프롬프트를 변경하고 싶습니다. 나는 Bash에 프롬프트 변경 기능이 없다고 생각하지만, 찾을 수 있다면(여러 줄 명령으로는 쉽지 않음) 프롬프트를 다시 그릴 수 있습니다.

zsh에서는 이 기능을 사용합니다 precmd. Bash에는 비슷한 기능이 없지만해킹될 수 있어.

답변2

아니요, 프롬프트가 표시되는 시점과 명령을 입력한 후 키를 누르는 시점 ENTER사이에 시간이 있을 수 있기 때문입니다.

명령이 아닌 항목에 대한 별칭을 설정할 수 있습니다(예:Deut)은 시간을 표시한 후 전달된 명령을 실행합니다. 매번 사용해야 한다는 점을 기억해야 하며, 구성한 시스템(및 계정)에서만 작동합니다.

관련 정보