다음 명령을 사용합니다.
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.