누구나 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 은 이와 같은 작업을 수행하는 표준 방법 인 것 같습니다.
time
(명령을 실행하는 데 걸린 시간을 측정합니다).