각 반복 후에 사용자에게 메시지를 표시하고 다음 반복을 실행하기 전에 입력을 기다리도록 다음 스크립트를 만들고 싶습니다.
#!/bin/sh
DIR=$(pwd)
for f in $DIR/test-data/*.txt
do
echo "$f"
n=$(wc -w < "$f")
k=$(( $n > 6 ? 6 : $n ))
echo $n:$k
java "Permutation" $k < "$f"
read -p "Press Enter to continue"
done
이 read
명령은 단순히 다음을 인쇄하고 일시 중지하지 않고 계속됩니다.
Press Enter to continue./test.sh: 12: read: arg count
답변1
POSIX read
에는 없습니다. -p
이것은 bash와 같은 일부 쉘에서 구현된 비 POSIX 확장입니다. 현재 확장이 제한된 POSIX 호환 쉘을 사용하고 있을 것입니다. /bin/sh
bash 확장을 사용하려는 경우 사용을 고려해야 합니다 /bin/bash
.
대신 POSIXly로 다음을 수행할 수 있습니다.
printf 'Press Enter to continue'
read REPLY