홈페이지 » 어떻게 » 쉘 스크립팅에 대한 초보자 안내서 4 조건 및 If-Then 문

    쉘 스크립팅에 대한 초보자 안내서 4 조건 및 If-Then 문

    쉘 스크립팅에 대한 가이드의 기본 사항에 대해 충분히 다뤘습니다. 이번 주 기사에서는 조건과 "if-then"진술과 같은 더 재미있는 것들을 다루게 될 것입니다..

    조건이란 무엇인가??

    일상 언어에서 우리는 조건이 발생하기 위해 충족되어야하는 요구 조건이라고 말합니다. 내 랩톱이 인터넷에 연결할 수 있으려면 ISP, 모뎀 및 / 또는 라우터가 켜져 있거나, 랩톱이 켜져있는 등 여러 가지 조건이 충족되어야합니다. 매우 간단합니다. 그러한 요구 사항 중 하나가 충족되지 않으면 그 결과 - 인터넷에 연결되는 랩탑 -이 발생하지 않음.

    컴퓨팅 영역의 조건은 유사하게 작동합니다. 문자열이 다른 문자열과 일치하는지 여부, 다른 문자열과 일치하지 않는지 또는 전혀 존재하지 않는지 여부를 테스트 할 수 있습니다. 비슷하게 숫자 인자를 테스트하여 하나가 다른 것보다 크거나 작거나 같은지 알아볼 수 있습니다. 테스트 조건이 충족 된 후에 어떤 일이 발생하려면 "if-then"진술을 사용합니다. 그들의 형식은 매우 간단합니다..

    조건 일 경우
    그때
    command1
    command2
    ...
    명령
    fi

    If 문

    간단한 테스트 스크립트를 실행 해 보겠습니다.?

    테스트 $ 1 -gt $ 2
    그때
    echo "$ 1은 $ 2보다 큽니다"
    fi

    이 조건이 참일 때만 스크립트가 다음 명령을 실행한다는 것을 알 수 있습니다. 그렇지 않으면 "if"문이 종료됩니다. "if"명령문 다음에 명령이 있으면 정상적으로 실행됩니다. 위의 스크립트의 끝 부분에 다음 줄을 추가하여이를 설명했습니다.

    echo "이것은 if 문 다음에옵니다"

    다음과 같은 다른 수치 연산자를 사용할 수 있습니다.

    • -eq : equal
    • -ne : 같지 않음
    • -lt :보다 작음
    • -le :보다 작거나 같음
    • -gt :보다 큼
    • -ge :보다 크거나 같음

    문자열 테스트

    이제 우리 스크립트의 첫 줄을 다음과 같이 수정하면 :

    테스트 $ 1 = $ 2

    두 조건이 같으면 조건이 테스트됩니다. 여기에 잡기가있다 !! 등호 (=)를 사용하면 숫자가 아닌 두 개의 문자열을 비교합니다. 숫자를 비교하려면 위의 "-gt"사용 방법과 비슷하게 "-eq"연산자를 사용해야합니다.

    자, 다시 수정 해 봅시다.

    테스트 $ 1! = $ 2

    느낌표 (!)를 포함하면 "not"한정자의 역할을합니다. 즉, 두 문자열이 일치하지 않을 때만 다음 명령을 실행합니다..

    다음은 사용할 수있는 문자열 기반 테스트의 목록입니다.

    • string : 문자열 자체가 공백 (null)이 아니거나 정의되어 있지 않은지 여부를 테스트합니다.
    • -n string : 문자열이 비어 있지 않고 정의되어 있는지 테스트합니다.
    • -z 문자열 : 문자열이 비어 있고 그런 식으로 정의되어 있는지 테스트합니다.

    만약 그 밖의 경우?

    나는 그 섹션 제목이 분명히 나쁜 말장난 이었다는 것을 인정할 것이다. 테스트가 사실이라면 명령을 실행하는 방법을 알고 있습니다. 그러나 그것이 틀린 경우 다른 명령을 실행하려면 어떻게해야합니까? 우리는 "if-then"문에 절을 추가하여 두 문단을 쉽게 결합 할 수 있습니다. "else"!

    조건 일 경우
    그때
    command1
    command2
    ...
    명령
    그밖에
    command1
    command2
    ...
    명령
    fi

    간단한 스크립트를 작성해 보겠습니다..

    적절한 들여 쓰기가있는 모든 것이 있습니다. 자세히 살펴보면 테스트 명령 대신 대괄호 ([및])를 사용했음을 알 수 있습니다. 그것들은 기능적으로 우리의 목적과 동등하며 여러 가지 이유로 대괄호를 볼 가능성이 훨씬 더 높기 때문에 지금부터 사용하겠습니다..

    출력 결과는 다음과 같습니다.

    그것은 쉽다.!

    지금 무엇을해야하나요??

    이제 "if-then-else"문을 사용하는 방법을 알았으므로 테스트를 수행 할 수있는 스크립트를 실행할 수 있습니다. 예를 들어 파일의 md5 해시를 계산 한 스크립트를 실행 한 다음 파일에서 다운로드 한 스크립트와 비교하여 일치하는지 확인하는 스크립트를 실행할 수 있습니다.

    보너스 포인트를 얻으려면 "for"루프가 있지만 목록 파일에서 행을 읽지 않고 테스트 조건을 사용하는 스크립트를 만들 수 있습니다 ...


    쉘 스크립팅에 대한 초보자 안내서에서 좀 더 흥미로운 부분으로 넘어 가고 있습니다. 이전 강의를 놓친 경우 여기에서 확인할 수있는 빠른 목록이 있습니다.

    1. 쉘 스크립팅의 기본 사항
    2. For 루프 사용
    3. 기타 기본 명령
    4. Linux 쉘 간의 차이점은 무엇입니까??
    5. 기본 정규 표현식을 사용하는 방법

    테스트 조건, if-then-else 문 및 "for"루프를 사용하는 스크립트를 작성하거나 사용한 경우 의견과 함께 공유하십시오!