`read -t`가 입력 내용을 인쇄하지 않습니다.

`read -t`가 입력 내용을 인쇄하지 않습니다.

다음 명령을 사용합니다.

read -t 5 num

그러나 실행 중:

echo "$num"

의 값이 인쇄되지 않습니다 num.

답변1

다음 예에서는 의 올바른 구문을 read보여줍니다.

$읽은 숫자
10
$에코 "$num"
10

답변2

read배쉬 내장표준 입력에서 한 줄을 읽어 변수에 저장하는 함수입니다. 기본 구문은 다음과 read같습니다.

read var

이것을 실행하면 프롬프트는 를 누를 때까지 텍스트를 입력할 때까지 기다립니다 Enter. 를 누르면 Enter텍스트가 var변수에 저장되며 다음을 사용하여 표시할 수 있습니다 echo.

echo $var

-t질문에 사용하는 플래그는 지정된 시간(초)이 경과한 후 시간 초과를 만드는 데 사용 됩니다 read. 지정된 시간이 지났는데 텍스트를 입력하지 않고 를 누르면 Enter아무 echo $var것도 반환되지 않습니다.

아마도 입력을 기다리는 동안 텍스트를 입력하면 어떻게 되는지 오해했을 것입니다 read. 아마도 입력한 텍스트가 read시간 초과 시 입력으로 사용되어 변수에 저장될 것이라고 생각했을 것입니다 var.

그러나 이것은 사실이 아닙니다! var를 누르는 경우 에만 텍스트가 저장됩니다 Enter.

관련 정보