Shell 스 크 립 트 (2) 텍스트 테스트, 전체 수치 비교, 문자열 비교 조건 테스트 작업 if 구문 응용 인 스 턴 스

3719 단어 Shell정수 값
\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# #\# test 명령\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# #\# #\# #\# 특정 표현 식 의 성립 여 부 를 테스트 합 니 다. 조건 이 성립 될 때 테스트 문장의 반환 값 은 0 입 니 다. 그렇지 않 으 면 다른 수치 형식 1: test 조건 식 형식 2: [조건 식] · 파일 테스트 [조작 부호 파일 또는 디 렉 터 리] - d: 디 렉 터 리 (디 렉 터 리) - e: 테스트 디 렉 터 리 나 파일 이 존재 하 는 지 여 부 를 테스트 합 니 다.(Exist) - f: 파일 (File) - r 인지 테스트: 현재 사용자 가 읽 을 수 있 는 권한 이 있 는 지 테스트 (Read) - w: 현재 사용자 가 쓰기 (Write) - x: 현재 사용자 가 실행 할 수 있 는 권한 이 있 는 지 테스트 (eXcute) · [root@localhost ~]# [ -d/media/cdrom ][root@localhost ~]# echo $?0[root@localhost ~]# [ -d/media/cdrom/Server ][root@localhost ~]# echo $?1[root@localhost~]\# # # # # # #\# # #\# # # #\# # #\# # # #\# # # #\# # #\# # #\# # # #\# # #\# #\# #\# #\# #\# #\# # #\# #\# # # # # #\# # # # # # # #\# #\# # # #\# # #\# # #\# #\# #\# #\#\#\# #\# # #\\# # # # # # # # # 정수 1 연산 자 정수 2] 자주 사용 하 는 테스트 연산 자 - eqq: (Equal) - ne: 같 지 않 은 (같 지 않 은) - (같 지 않 은 ((같 지 않 은) - ((같 지 않 은) - (같 지 않 은) - (Greater Than) - lt: (Lesser Than) - le: 작 거나 같 음 (Lesser or Equal)- ge: (Greater or Equal) · Unum = who | wc -l\#\#\# 현재 로그 인 사용자 수 [$Unum - gt 2] & echo "Too many."\#\# 2 이상 이면 Too many 를 표시 합 니 다. 작 거나 같 으 면 Too many 를 알 리 지 않 습 니 다. · FreeCC = $(free - m | grep "Mem:"| awk '{print $6}')\#\# 물리 적 메모리 (Mem) 를 1024 MB 이하 로 볼 때 출력 구체 값 [$FreeCC - lt 1024]$& & & echo ${FreeCC} MB ·\# # #\# # #\# # # #\# # #\# # #\# # #\# #\# # # #\# # #\# # # #\# # # #\# #\# # # #\# # #\# # #\# #\# # #\# # # #\# # #\# # #\# # #\# # # #\# #\# # #\# # #\# # #\# #\# # #\# #\# # #\# # #\# # # #\# # # #\# # # # # #\# # # # #\# # # # # # #\# # # # # # #\# # # # # # # # # # #\# # # # # # # # # # # LANG [$LANG! = "en. US"] & & echo "Not en. us"· read - p"기 존 파일 (yes/no) 을 덮어 쓰 시 겠 습 니까?"ACK 가 기 존 파일 (yes/no) 을 덮어 쓰 시 겠 습 니까? "예 [$ACK ="yes "] & &"덮어 쓰 기 "덮어 쓰 기 · 읽 기 - p"기 존 파일 (yes/no) 을 덮어 쓰 시 겠 습 니까? """다음 다음 파일 (예/아니오) 을 덮어 쓰 시 겠 습 니까?""% [$$ACK =""""아니오"] & & "덮어 쓰 지 않 기"덮어 쓰 지 않 기 "덮어 쓰 지 않 기 # # #\# # # #\# # #\# # #\# # # #\# # #\# # #\# # # #\# # # #\# # # #\# # # # #\# # # # # #\# # # # # # # #\#\#\#\#\#\#\#\#\#\#\# #\# 형식 1: [표현 식 1] 연산 자 [표현 식 2]... 형식 2: 명령 1 연산 자 명령 2... 자주 사용 하 는 테스트 연산 자 - a 또는 &: 논리 와, "그리고"의 뜻 - o 또는 |: 논리 또는, "또는"의 뜻!: 논리 적 여부, 반대 되 는 · uname - r Mnum = $(uname - r | awk - F. '{print $1}') Snum = $(uname - r | awk - F. '{print $2}') [$Mnum - ge 3] & & [$Snum - gt 4] & echo '요구 에 부합"\#\# 앞 에 두 개가 모두 성립 되면 출력 ·\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\#\# # #\# if 문장의 구조\#\# #\# #\#\#\#\#\# #\#\#\# #\#\# #\#\#\#\# #\# #\# #\# 1, 단일 분기 구조 if 조건 테스트 then 명령 판단 fi · 판단 마 운 트 지점 디 렉 터 리 가 존재 하지 않 으 면 자동 으로 생 성 됩 니 다."root@localhost ~]# cat chkmountdir.sh#!/bin/bashMOUNT_DIR="/media/cdrom/"if [ ! -d $MOUNT_DIR ]thenmkdir - p $MOUNT DIRFi · 2, 2 분기 구조 if 조건 테스트 then 명령 시퀀스 1else 명령 시퀀스 2fi · 대상 호스트 의 생존 여 부 를 판단 하여 검사 결 과 를 표시 합 니 다 [root@localhost ~]# cat pinghost.sh#!/bin/bashping -c 3 -i 0.2 -W 3 $1 &>/dev/nullif [ $? -eq 0 ]thenecho "Host $1 is up."elseecho "Host $1 is down."fi · 3, 다 분기 구조 if 조건 테스트 작업 1then 명령 서열 1elif 조건 테스트 작업 2then 명령 서열 2else 명령 서열 3fi · 판단 점수 범위, 우수, 합격, 불합격 3 단 으로 나 뉜 다 [root@localhost~]\# vi gradediv. sh\#!/bin/bashread - p "점 수 를 입력 하 십시오 (0 - 100):"GRADEif [$GRADE - gt 100] thenecho"$GRADE 점수, 100 점 이상, 입력 에 문제 가 있 음"elif [$GRADE - ge 85] & [$GRADE - le 100] thenecho "$GRADE 점수, 우수!"elif [$GRADE - ge 70] & & [$GRADE - le 84] thenecho "$GRADE 점수, 합격!"elseecho "$GRADE 점수, 불합격!"fi · [$GRADE - ge 85]root@localhost opt]#chmode +x gradediv.sh[root@localhostopt]\#./gradediv. sh 점 수 를 입력 하 십시오(0 - 100): 101101 점, 100 점 이상, 입력 에 문제 가 있 음 [root@localhostopt]\#./gradediv. sh 점 수 를 입력 하 십시오 (0 - 100): 8888 점, 우수! [root@localhostopt]\#./gradediv. sh 점 수 를 입력 하 십시오 (0 - 100): 00 점, 불합격!

좋은 웹페이지 즐겨찾기