Shell Script (5): 상호작용 과 산수 연산
1. Shell 스 크 립 트 와 터미널 사용자 의 상호작용 이 대화 과정 은 read 명령 을 통 해 이 루어 진다.스 크 립 트 가 read 명령 을 실행 할 때 터미널 사용자 의 입력 을 기다 리 고 사용자 의 입력 이 완료 되 고 Enter 키 를 눌 러 야 스 크 립 트 가 계속 실 행 됩 니 다.다음은 간단 한 예 를 통 해 read 명령 을 통 해 스 크 립 트 와 터미널 의 상호작용 과정 을 보 여 줍 니 다.
#!/bin/bash
echo -n "Enter some text > "
read text
echo "You entered: $text"
위 코드 를 read 에 기록 합 니 다.demo 파일 에서 실행 가능 한 권한 을 설정 한 다음 실행 효 과 는 다음 과 같 습 니 다.
jason@jason-Lenovo-Y50-70:~/bin$ read_demo.bash
Enter some text > this is some text
You entered: this is some text
echo 명령 뒤에 n 옵션 이 있 습 니 다. 이 옵션 은 echo 뒤의 내용 이 출력 된 후 커서 가 줄 을 바 꾸 지 않 는 역할 을 합 니 다.위 readdemo 스 크 립 트 에서 echo 뒤의 - n 을 제거 하면 상호작용 의 효 과 는 다음 과 같 습 니 다.
jason@jason-Lenovo-Y50-70:~/bin$ read_demo.bash
Enter some text >
this is some text
You entered: this is some text
이 예 는 echo 의 - n 옵션 의 역할 을 잘 설명 할 수 있 습 니 다. 그리고 read 명령 의 재 미 있 는 두 가지 옵션 을 소개 합 니 다. 1. - t 옵션 간단 한 스 크 립 트 를 대조 하여 설명 합 니 다.
#!/bin/bash
echo -n "Hurry up and type something! > "
if read -t 3 response; then
echo "Great, you made it in time!"
else
echo "Sorry, you are too slow!"
fi
이 스 크 립 트 에서 read 의 사용 형식 은
ead -t 3 response
입 니 다.스 크 립 트 가 여기까지 실 행 될 때 사용자 의 입력 을 기다 릴 것 입 니 다. 사용자 가 3 초 안에 입력 을 완료 하고 차 로 돌아 오지 않 으 면 스 크 립 트 는 사용 자 를 기다 리 지 않 고 계속 아래로 실 행 됩 니 다. 2. - s 옵션 read 명령 - s 옵션 은 사용자 가 터미널 에서 변 수 를 입력 할 때 터미널 에서 사용자 가 입력 한 내용 을 표시 하지 않 는 역할 을 합 니 다.예 를 들 어 변수의 값 이 암호 일 때 이 옵션 을 사용 할 수 있 습 니 다.연산 Shell Script 에서 언급 된 데이터 형식 은 모두 문자열 이기 때문에 다른 데이터 형식의 작업 을 수행 하려 면 추가 로 변환 해 야 합 니 다.여기 서 Shell 에서 정형 의 산수 연산 을 소개 하 는데 +, -, *,/,% 와 * 6 가지 연산 을 포함한다. 실례 를 통 해 설명 하 겠 습 니 다.
jason@jason-Lenovo-Y50-70:~/bin$ echo $((2+2))
4
jason@jason-Lenovo-Y50-70:~/bin$ echo $(( 2+2 ))
4
jason@jason-Lenovo-Y50-70:~/bin$ echo $(( 2 + 3 * 2))
8
이 예 에서 Shell 에서 연산 의 용법 을 정리 할 수 있 습 니 다. (1) 산식 은 $(() 를 사용 하여 포함 시 켜 야 합 니 다. (2) 산식 에서 연산 자 간 의 빈 칸 은 무시 된다. 설명: (1) 이 산식 에서 얻 은 결 과 는 여전히 문자열 입 니 다. (2) * * 는 멱 연산, 즉 x * y < = > pow (x, y) 입 니 다. 예 를 들 어:
jason@jason-Lenovo-Y50-70:~/bin$ echo $((2 ** 3)) = 8
3. 상호작용 과 산수 연산 의 종합 적 인 시연 다음은 위의 두 부분 을 종합 하여 하나의 발 을 작성 하여 이 글 을 끝 냅 니 다.
#!/bin/bash
number=0
echo -n "Enter a number > "
read number
echo "Number is $number"
if [ $((number % 2)) -eq 0 ]; then
echo "Number is even"
else
echo "Number is odd"
fi
관련 문서
http://linuxcommand.org/lc3_wss0100.php
전편: Shell Script (4): 조건 부 분기 문 1 다음 편: Shell Script (6): 조건 부 분기 문 2
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.