2013-02-25 2 views
2

bash에서 진행률 표시 줄을 인쇄하고 있지만 사용자가 아무 키나 누르면 "중단"됩니다. stdin을 리디렉션하거나 키보드 입력을 차단하고 싶습니다. 그러나이를 수행 할 수 없었습니다. 이것은 매우 안스가 올바른지 :-)표준 입력을 리디렉션하거나 키보드 입력을 차단하는 방법은 무엇입니까?

+0

걱정하지 마십시오. 내가 사용했던 모든 프로그램은 같은 방식으로 진행 막대를 "끊습니다". 예방하려고 노력해야하는 것이 아닙니다. 그것은 터미널 프로그램의 특성입니다. –

+0

머리가되어 주셔서 고마워요. 큰 문제는 아니지만 제 스크립트의 다른 부분에 집중해야한다는 것을 알고 있습니다.하지만 나는 완전 완벽 주의자라고 말하며 그것을 고치고 싶습니다 .-p –

+1

깨지지 않았으므로 고칠 것이 없습니다. 너 시간 낭비 야. –

답변

0

그것을 감사 내 코드 (전체 코드에서 작은 추출물)

#!/usr/bin/env bash 
while [[ true ]]; do 
echo -n "#" && 0> /dev/null 
sleep 1 
done 

도움이 될 것입니다. 당신은 stdin을 리다이렉트시키면서 혼란 스러울 지 모르지만, 이것이 여러분의 정의에 따라 스크립트 작성에 도움이되는지 확신 할 수 없습니다. 여기에 당신이 생각하는 것 방향으로 가고 어떤 시도가 올바른지 있습니다

retty :

http://pasky.or.cz/dev/retty/ 

reptyr : 안스가있다 그래서 잠시 동안이와

http://blog.nelhage.com/2011/01/reptyr-attach-a-running-process-to-a-new-terminal/ 

재생, 다음 참조 그 오른쪽, IMO. 아니면 이것이 괜찮다고 생각할 수도 있습니다.

관련 문제