모든 bash 명령 앞의 명령 명령 앞에 ‘시간’명령을 넣는 방법을 알고 있습니까?

누구나 bash 세션의 모든 명령 앞에 ‘시간’명령을 넣는 방법을 알고 있습니까?



답변

전에 잘못된 답변으로 죄송합니다. 귀하의 질문을 이해하지 못했습니다.

쉘에서 실행하는 모든 명령 전에 시간을 추가하려면 다음과 같이 할 수 있습니다

bind 'RETURN: "\e[1~time \e[4~\n"'

리턴 키가 리 바인드됩니다. 이제 줄 바꿈을 쓰지 않고 return 키를 누를 때마다 줄의 시작 부분으로 이동하고 텍스트 ‘시간’과 공백을 입력하고 줄 끝으로 이동하여 줄 바꿈을 입력하십시오. 효과.

Enter 키를 희생시키지 않으려면 다음과 같은 명령을 바인딩하여 F12와 같은 ‘두 번째’벤치 마크 입력 키를 만들 수 있습니다.

bind '"\e[24~": "\e[1~time \e[4~\n"'

이제 리턴 키를 교체하는 대신 F12를 바인딩했습니다.

이 모든 것의 배경은 bash가 GNU readline을 사용하여 명령을 읽는 것입니다. 따라서 readline은 추가 명령 조작 등을위한 좋은 출발점이 될 것입니다.


답변

나는 이것이이 질문의 범위 밖이라는 것을 알고 있지만 …

에서 zsh당신이 당신의 다음 변수를 설정 한 경우 (이, 내 지식의 bash의 슈퍼 세트입니다) .zshrc파일을 :

export REPORTTIME=5

5 초 이상 걸리는 모든 명령 (확실히 확실합니다)의 출력이 표시됩니다 time. 더 빨리 완료되는 모든 명령은 그렇지 않습니다. 그런 경우에는 실제로 신경 쓰지 않으므로 물건을 어지럽히 지 않는 것이 좋습니다. zsh당신이 그것을 즐기고있는 동안 즐길 수있는 다른 멋진 기능도 많이 있습니다.


답변

프롬프트 문자열에 \ t를 포함하십시오. 프롬프트에 시간을 포함시킬 시점이 포함됩니다. 참조 :
http://www.ibm.com/developerworks/linux/library/l-tip-prompt/


답변

PS1 은 이와 같은 작업을 수행하는 표준 방법 인 것 같습니다.


답변