3
다음 Bash 스크립트가 있습니다. 키를 누를 때 포즈를 멈추게하거나 루프가 끝나면 멈출 수 있습니까?하지만 키를 누르지 않으면 반복해야합니까?일시 중지 Bash 루프
for i in `cat files`
do
echo $i
done
다음 Bash 스크립트가 있습니다. 키를 누를 때 포즈를 멈추게하거나 루프가 끝나면 멈출 수 있습니까?하지만 키를 누르지 않으면 반복해야합니까?일시 중지 Bash 루프
for i in `cat files`
do
echo $i
done
처음에는 질문을 잘못 읽은 것 같습니다. 언제든지 Ctrl+Z
을 눌러 활성 프로세스를 일시 중단하고 fg 기본 제공으로 다시 시작할 수 있습니다.
i=1
for f in `cat files`; do
echo $f
if ((i % 10 == 0)); then # pause every 10 iterations
read
fi
let "i++"
done
내 원래 대답했다 :
반복의 숫자 수행 한 후 스크립트 일시 정지를 만들기 위해, 당신은 카운터 변수와 modulo 운영자 %
을 사용할 수 있습니다
read 내장 키를 사용하여 사용자가 RETURN
키 (또는 EOF
키, Ctrl+D
)를 누를 때까지 기다릴 수 있습니다.
for i in `cat files`
do
echo $i
read
done
당신은 아웃 시간을이 순서 read
의 -t
옵션을 사용하여 실행을 계속 할 수 있습니다
for i in `cat files`
do
echo $i
read -t 1
done
위의 사용자가 RETURN
키를 누르지 않을 경우 일초 후 실행을 재개합니다 .
이렇게하면 각 루프가 시작될 때까지 스크립트가 대기합니다. – newmusicblog
@newmusicblog, 아니요, 그렇지 않습니다. 그럼 다시, 당신은 그냥 귀하의 질문에 그 요구 사항을 추가했습니다 :) –
내가이 스크립트를 사용하는 경우, 그것은 하나의 변수를 반향하고 다음 기다립니다 | || 나는 회귀가 끝날 때까지 무의식적으로 반복 할 필요가있다. – newmusicblog