입력 읽기:
목적:
표준 입력에서 한 줄을 읽거나 파일 설명자 FD(파일 설명자)에서 한 줄을 읽고 필드로 분할합니다.
사용법:
read [-ers] [-a 배열] [-d 구분 기호] [-i 버퍼 텍스트] [-n 읽은 문자 수] [-N 읽은 문자 수] [ -p 프롬프트] [-t timeout] [-u 파일 설명자] [이름...]
일반적으로 사용되는 옵션:
-a: (배열) 읽은 문자를 단어로 나누어 배열에 저장합니다. (0부터 시작) )
#!/bin/ - ${variable[ ${variable[ ${variable[ ${variable[]}
<strong>运行效果:<br></strong>
는 단어 구분에 따라 배열에 배치되며 인덱스는 0<br>34부터 시작합니다 ew qr34 3qr wer er qw<br>첫 번째:<br>34<br>두 번째:<br>ew<br>th3 숫자: <br>qr34<br>4번째 숫자: <br>3qr
-n: 지정된 문자 수에 도달하면 즉시 입력 상태를 종료합니다.
源码:
#- -n ${num}
<strong>运行效果:<br></strong>
-n 읽기 10 허용 <br>sgfgsngfdf<br>에서 수신한 10자는 다음과 같습니다: sgfgsngfdf
<br> -p: 읽기 명령 바로 뒤에 프롬프트를 지정할 수 있으며 여러 변수에 값을 할당할 수 있습니다.
源码:
-p $num3
<strong>运行效果:<br></strong>
使用-p参数完成多个变量赋值: 请输入三个数字或字符:(用空格隔开)23 34 345 num1=23num2=34num3=345
<br>
<br> - r: 아니요 백슬래시로 모든 문자를 이스케이프할 수 있습니다.
<br> -s: 읽기로 입력한 데이터를 화면에 표시하지 않습니다.
源码:
#- -p - ${password}
<strong>运行效果:<br></strong>
-s 읽기로 입력한 내용이 화면에 표시되지 않습니다. <br>password: <br> 비밀번호는 3432입니다. rq erewr w
<br> -t : 읽기 명령이 입력을 기다리는 시간(초)입니다. 타이머가 만료되면 0이 아닌 상태를 반환하고 입력 대기를 종료합니다.
源码:
#- -t ${num}
<strong>运行效果:<br></strong>
는 2초 동안 입력을 기다립니다. 시간 초과 후 0이 아닌 값을 반환합니다.
<br> -u: 파일 설명자 FD(파일 설명자)에서 읽습니다. .
보충 내용: 파일 설명자 FD파일 설명자는 음수가 아닌 정수 형식입니다. 실제로는 프로세스별로 커널이 관리하는 프로세스가 오픈한 파일들의 레코드 테이블을 가리키는 인덱스 값이다. 프로그램이 기존 파일을 열거나 새 파일을 만들면 커널은 파일 설명자를 프로세스에 반환합니다. 프로그래밍에서 일부 저수준 프로그래밍은 종종 파일 설명자를 중심으로 진행됩니다. 그러나 파일 설명자의 개념은 UNIX 및 Linux와 같은 운영 체제에만 적용되는 경우가 많습니다.관례적으로 표준 입력의 파일 기술자는 0, 표준 출력은 1, 표준 오류는 2입니다. 이 규칙은 Unix 커널의 기능은 아니지만 일부 쉘과 많은 응용 프로그램이 이 규칙을 사용하기 때문에 커널이 이 규칙을 따르지 않으면 많은 응용 프로그램이 작동하지 않습니다.
파일에서 읽는 예:
<br>
test. |
<br>运行效果:
read接受文本作为输入 接收的文本字符是:#------------------------------------------ 接收的文本字符是:#------------------------------------------ 接收的文本字符是:# read接受文本作为输入 接收的文本字符是:echo " read接受文本作为输入" 接收的文本字符是:cat test.sh | while read line 接收的文本字符是:do 接收的文本字符是:echo 接收的文本字符是:echo "接收的文本字符是:"${line} 接收的文本字符是:done
위 내용은 쉘--표준 입력 및 출력(읽기 및 에코)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!