Linux 프로 그래 밍 (Linux 셸 프로 그래 밍 10)

여러분, 우 리 는 몇 번 전에 주로 Linux 셸 프로 그래 밍 중의 함 수 를 말 했 습 니 다. 이번 에는 새로운 화 제 를 이야기 하기 시 작 했 습 니 다. 스 크 립 트 의
입 출력.여담 은 그만 두 고, 말 은 바 뀌 었 다.
스 크 립 트 입력: 여기 서 말 하 는 스 크 립 트 입력 은 주로 스 크 립 트 가 사용자 가 입력 한 내용 을 어떻게 읽 는 지 를 말 합 니 다.예 를 들 어 터미널 에 한 줄 을 입력 했 습 니 다.
이 내용 을 터미널 에서 스 크 립 트 로 읽 는 것 이 오늘 우리 가 말 할 스 크 립 트 입력 입 니 다.스 크 립 트 입력 은 주로 read 명령 을 통 해 이 루어 집 니 다.
read 옵션 인자.옵션 과 매개 변 수 는 있 으 나 마 나 합 니 다.
옵션 이 없 을 때: readval 은 터미널 의 내용 을 변수 val 에 읽 는 것 을 표시 합 니 다.
옵션 과 인자 가 없 을 때: read 는 터미널 의 내용 을 기본 변수 REPLY 로 읽 는 것 을 표시 합 니 다.
read 에 옵션 을 추가 하면 다양한 스타일 의 읽 기 방식 을 실현 할 수 있 습 니 다.관 리 를 서 두 르 지 말고 우리 아래 에서 차례대로 소개 합 시다.
옵션 n: read - n num val. 터미널 에서 num 문 자 를 읽 고 변수 val 에 저장 합 니 다.
옵션: read - s val. 터미널 에서 내용 을 읽 지 않 고 변수 val 에 저장 합 니 다. 암 호 를 읽 는 데 자주 사 용 됩 니 다.
옵션 p: read - p "notice"val 은 터미널 에서 힌트 를 주 고 내용 을 변수 val 로 읽 습 니 다.
옵션 t: read - t time val. time 시간 (기본 초) 내 에 터미널 에 입력 한 내용 을 val 에 읽 습 니 다.하면, 만약, 만약...
        시간 내 에 내용 을 입력 했 습 니 다. 명령 은 0 으로 돌아 갑 니 다. 만약 시간 내 에 어떤 내용 도 입력 하지 않 았 다 면 명령 은 0 이 아 닌 값 으로 돌아 갑 니 다.그러므로
        이 조작 은 항상 초과 여 부 를 판단 하 는 데 쓰 인 다.
d: read - d "char"val 을 선택 하 십시오. 터미널 에서 내용 을 변수 val 로 읽 고 char 를 만 날 때 까지 읽 습 니 다.
여러분, 예 를 들 어 스 크 립 트 입력 의 용법 을 설명 합 시다.
#! /bin/bash

echo "-----------------the starting line of shell-----------------"

echo "sample of read :no option"
echo "please input the value"
read val
echo "Result is:$val"

echo "sample of read :no option and no parameter"
echo "please input the value"
read
echo "Result is:$REPLY"

echo "sample of read : option n"
echo "please input the value"
read -n 3 val
echo
echo "Result is:$val"

echo "sample of read : option s"
echo "please input the value"
read -s val
echo
echo "Result is:$val"

echo "sample of read : option p"
read -p "please input the value:" val
echo "Result is:$val"

echo "sample of read : option t"
echo "please input the value"
if read -t 3 val
then
    echo "Result is:$val"
else
    echo "time is over 3s"
fi

echo "sample of read : option d"
echo "please input the value"
read -d "#" val
echo
echo "Result is:$val"

echo "-----------------the ending line of shell-----------------"

t1. sh 라 는 스 크 립 트 파일 을 새로 만 들 고 위의 내용 을 파일 에 입력 하여 저장 한 후 파일 에 실행 권한 을 추가 한 다음 에
터미널 에서 이 파일 을 실행 하고 프로그램 알림 에 따라 입력 내용 을 입력 하면 다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
-----------------the starting line of shell-----------------
sample of read :no option
please input the value
hello
Result is:hello
sample of read :no option and no parameter
please input the value
hello
Result is:hello
sample of read : option n
please input the value
hel
Result is:hel
sample of read : option s
please input the value
Result is:hello
sample of read : option p
please input the value:hello
Result is:hello
sample of read : option t
please input the value
he
Result is:he
sample of read : option d
please input the value
hello#
Result is:hello
-----------------the ending line of shell-----------------
관리 들, 프로그램 이 실 행 된 결 과 를 보면 서 작은 세부 사항 이 있 습 니 다. 발견 하 셨 는 지 모 르 겠 습 니 다.
옵션 n 을 테스트 할 때 n 글자 만 입력 할 수 있 습 니 다.
옵션 p 를 테스트 할 때 제시 한 내용 과 입력 한 내용 이 한 줄 에 있 습 니 다.
테스트 옵션 t 에 서 는 시간 초과 가 없 으 면 올 바른 표시 가 있 습 니 다. 시간 초과 가 입력 되 지 않 으 면 시간 초 과 를 알 립 니 다.
테스트 옵션 d 를 선택 하면 d 의 내용 이 멈 추고 d 는 변수 에 읽 히 지 않 습 니 다.
옵션 t 를 제외 하고 다른 옵션 은 줄 바 꿈 자 를 읽 지 않 았 기 때문에 코드 에 수 동 줄 바 꿈 동작 이 있 습 니 다: echo
여러분, 스 크 립 트 가 입력 한 내용 은 오늘 여기까지 입 니 다. 뒷 일 을 알 고 싶 으 시 면 다음 회 에 설명 을 들 으 세 요.

좋은 웹페이지 즐겨찾기