我想制作以下脚本在每次迭代后提示用户,并在运行下一次迭代之前等待输入:
#!/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
POSIXread
没有-p
,这是在某些 shell(如 bash)中实现的非 POSIX 扩展。您当前使用的/bin/sh
可能是具有有限扩展的 POSIX 兼容 shell,如果您想使用 bash 扩展,您应该考虑使用它/bin/bash
。
相反,您可以 POSIXly 这样做:
printf 'Press Enter to continue'
read REPLY