VPS에서 간단한 셸 스크립트를 작성하는 방법 (3 섹션)

VPS에서 간단한 셸 스크립트를 작성하는 방법 (3 섹션)

2022-06-01 last update

6 minutes reading Linux Basics Getting Started

소개


조건문은 모든 유용한 스크립트와 기능이 완비된 프로그래밍 언어에 있어서 없어서는 안 될 것이다.셸 스크립트 강좌의 세 번째 부분에서 bash의 모든'if'와'else'를 배우고 그것을 어떻게 활용하는지 배울 것입니다.본고는 first tutorial에 따라 셸 스크립트 폴더를 설정했다고 가정합니다.

if 명령


조건이true 또는false이면 조건 문장을 사용하여 작업을 수행합니다.셸 스크립트에 대해 "if"명령으로 실행됩니다.다음은 테스트할 표현식입니다.이 표현식도 명령을 실행하는 퇴출 코드, 수학 표현식으로 다른 것을 초월할 수 있다.종료 코드를 사용할 때 명령은 간단합니다.
if ls 폴더
그리고
echo "폴더 존재"
금융 기구
폴더가 존재하면 echo 명령을 실행합니다. ls는successful에서 보듯이 종료 코드 0을 되돌려줍니다.그렇지 않으면 폴더가 존재하지 않으면 텍스트가 표시되지 않습니다.모든 "if"문장은 "then"명령과 "fi"로 끝납니다.종료 코드를 사용하지 않고 수학 표현식을 테스트하려면 "test"명령을 사용해야 합니다.셸 스크립트에서 숫자를 비교하는 데 사용할 연산자는 다음과 같습니다.
-eq 또는
-ne 또는 그렇지 않음
-lt 또는 이하
-le 또는 이하
-gt 이상
- ge 또는 보다 크거나 같음
테스트 명령은 두 가지 방법으로 작성할 수 있습니다.
하면, 만약, 만약...
또는
하면, 만약, 만약...
양자의 성능은 완전히 같고'then'과'fi'가 필요하다.예:
하면, 만약, 만약...
그리고
에코 "뭐요?"
금융 기구
"뭐야?"20은 10보다 크므로 영원히 표시되지 않습니다.현재, 만약 사용자에게if문장이false로 되돌아오는 것을 방지하기 위해 메시지를 표시하기를 원한다면, 어떻게 해야 합니까?

"else" 명령


말 그대로 "Else"는 if 명령에 대체 루트를 추가합니다.이것은 매우 기본적이다.
하면, 만약, 만약...
그리고
에코 "뭐요?"
기타
echo "아니오, 20은 10보다 큽니다."
금융 기구
수학 표현식을 제외하고 문자열을if/else와 비교할 수 있습니다.그것들은 약간의 문법이 필요하지만test 또는'[]'명령을 사용합니다.다음은 구문입니다.
문자열 = 문자열 또는 문자열
문자열! =문자열 또는 문자열이 문자열과 같지 않음
문자열이나 문자열은null이 아니거나 정의되지 않았습니다
- n 문자열 또는 문자열이null이 아닌 경우
-z 문자열 또는 문자열이 비어 있음
파일 속성을 이해하는 방법도 있습니다.
-s 파일 테스트 비활성 파일
-f 파일 테스트 파일이 폴더가 아닌 파일인지 여부
-d 폴더 파일이 아닌 폴더인지 테스트
-w file 테스트 파일 쓰기 가능 여부
-r 파일 테스트 파일이 읽기 전용인지 여부
-x 파일 테스트 파일 실행 가능 여부

중첩된 "if"


또한 모든 "if"문장을 다른 문장에 놓아서 소위 "내포된 if"를 만들 수 있습니다.다음 예제에서는 read가 제공하는 사용자 입력을 통해 이 점을 배울 것입니다. previous tutorial 에서 이 점을 배웠습니다.
#!/상자/bash
echo "만들 파일 입력"
파일 읽기
하면, 만약, 만약...
그리고
echo "파일이 이미 있습니다"
기타
$파일 터치
하면, 만약, 만약...
그리고
echo "파일 생성 및 쓰기 가능"
기타
echo "파일이 생성되었지만 쓸 수 없습니다"
금융 기구
금융 기구

샘플 스크립트


이 예에서, 우리는 배운 내용을 사용하여 파일 백업 스크립트를 개선하려고 계속 시도할 것이다.이 버전은 백업 폴더가 존재하는지, 존재하는지, 생성할 권리가 있는지 확인하기 위한 테스트를 포함합니다.우선, 평소와 같이 스크립트를 만듭니다.
터치~/bin/filebackup3
chmod+x ~/bin/filebackup3
nano ~/bin/filebackup3
그런 다음 편집을 계속합니다.
#!/상자/bash
# 백업 스크립트 3.0
# 설명: 백업 폴더에 지정된 파일 복사
# 작성자: 이름
# 날짜: 2013년 9월 29일
# 사용자에게 백업 폴더 요청:
echo-e"\e[47m\e[1m\e[32m 파일 백업 유틸리티\n\e[39m\e[0m\e[47] 백업 폴더를 입력하십시오."
백업 폴더 읽기
# 스크립트는 폴더가 있는지 확인합니다.
[-d$백업 폴더]
그리고
echo "백업 폴더가 이미 존재하고 사용됩니다."
기타
mkdir$백업 폴더
[-d$백업 폴더]
그리고
echo "백업 폴더가 성공적으로 만들어졌습니다."
기타
echo-e "백업 폴더를 만들 수 있는 권한이 없습니다.\n 이 스크립트가 종료됩니다."
종료 1
#exit 1은 스크립트를 종료하고 오류 코드를 되돌려주는 명령입니다.
금융 기구
금융 기구
# 백업할 파일 요청:
echo-e"\e[30에서 백업할 파일은 무엇입니까?\e[39m\e[49m]
파일 읽기
if [-n$파일]
그리고
cp-a$파일 $백업 폴더
기타
echo "파일이 없습니다."
금융 기구
스크립트는 입력한 백업 폴더가 존재하지 않는 시기, 생성된 시기, 생성할 수 없는 시기, 요청 파일에 빈 문자열을 지정하는 시기를 알려 줍니다.

결론


네가 많이 배울수록 네가 만들 수 있는 절차가 좋아질 뿐만 아니라 더욱 광범위한 가능성을 가지고 새로운 혁신 해결 방안을 제정할 수 있다.이 강좌에서, 우리는 이미 사용자에게 우호적인 스크립트를 더욱 우호적으로 만들었다.