在 sh 中,你可以用 read。通常是使用在回圈,如下例: while read line do ... done 在 csh 中,则用 $<: while ( 1 ) set line = "$<" if ( "$line" == "" ) break ... end 很可惜的,csh 并没有方法判断空白行和档案结尾(end-of-file)的不同。 如果你要用 sh 从 terminal 读一个字元,那么你可以试试 echo -n "Enter a character: " stty cbreak # or stty raw readchar=`dd if=/dev/tty bs=1 count=1 2>/dev/null` stty -cbreak echo "Thank you for typing a $readchar ."