웹사이트 검색

Linux에서 문자열을 테스트하기 위해 bash if -z 및 if -n을 사용하는 방법


이 페이지에서

  1. 문자열이 Null인 경우 if -n 연산자 사용
  2. String이 Null이 아닌 경우 if -n 사용
  3. 문자열이 Null일 때 if -z 사용
  4. String이 Null이 아닌 경우 if -z 사용
  5. 문자열 사용자 입력을 받는 동안 if -z 사용
  6. 결론

문자열을 테스트하는 데 사용할 수 있는 bash 스크립팅 언어에는 다양한 문자열 연산자가 있습니다. -z 및 -n 연산자는 문자열이 Null인지 여부를 확인하는 데 사용됩니다. 이 가이드에서는 Centos 8의 if 문을 사용하여 이러한 문자열 연산자를 테스트합니다.

이 가이드에서는 다음 테스트 문자열에 대해 알아봅니다.

  • 문자열이 Null인 경우 If-n.
  • 문자열이 Null이 아닌 경우 If-n
  • 스팅이 Null일 때 If-z
  • 문자열이 Null이 아닌 경우 If-z
  • 문자열 사용자 입력을 받는 동안 If-z

문자열이 Null인 경우 if -n 연산자 사용

여기서 if-n 연산자를 사용하는 주요 목표는 특정 문자열이 Null임을 보여주는 것입니다. 인용된 단계에 따라 이 작업을 실행합니다.

이름이 CheckString.sh인 새 파일을 만듭니다. 홈 디렉터리에서 직접 만들거나 터미널에서 다음 명령을 사용하여 만들 수 있습니다.

$ touch CheckString.sh

이미지와 같이 홈 디렉토리에 CheckString.sh 파일이 생성된 것을 확인할 수 있습니다.

CheckString.sh 파일을 열고 아래 이미지와 같이 bash 스크립트를 작성합니다. 여기에서 StdName이라는 이름 뒤에 Null 값이 오는 문자열을 초기화한 것을 볼 수 있습니다. if 문에서 -n 문자열 테스트 연산자와 StdName 문자열을 사용했습니다. 문자열 StdName은 null이므로 -n 연산자는 스크립트의 else 섹션을 실행합니다.

이제 문자열이 Null인지 여부를 확인하기 위해 아래 언급된 명령을 실행합니다.

$ bash CheckStrings.sh

문자열 StdName이 Null이므로 -n 문자열 연산자가 else 부분을 실행했습니다. 따라서 결과는 죄송합니다! 아래 이미지에 표시된 것처럼 터미널에 이름이 없습니다.

문자열이 Null이 아닌 경우 if -n 사용

여기에서 if-n 연산자를 사용하는 것은 파일에 지정된 문자열이 Null이 아님을 보여주기 위한 것입니다. 이 활동을 수행하려면 아래 언급된 단계를 거쳐야 합니다.

새 파일이나 문자열을 만들 필요가 없습니다. 약간만 변경하여 이 작업에 대해 동일한 파일 CheckString.sh를 사용합니다. 이번에는 파일의 StdName 문자열에 null 이외의 값이 있어야 합니다. 따라서 다른 모든 스크립트는 동일하게 유지하면서 문자열에 값(null 아님)을 할당해야 합니다. 보시다시피 문자열 StdName에 값 Aqsa Yasin을 할당했습니다. 따라서 이번에는 스크립트의 일부가 -n 연산자에 의해 실행됩니다.

이제 문자열에 값이 있는지 여부를 확인하기 위해 아래 언급된 명령을 실행합니다.

$ bash CheckStrings.sh

문자열 StdName에 Aqsa Yasin 값이 있으므로 -n 문자열 연산자는 if 부분을 실행했습니다. 따라서 출력은 Hy! 첨부된 이미지에 표시된 터미널의 Aqsa Yasin.

문자열이 Null인 경우 if -z 사용

여기에서 if-z 연산자를 사용하는 것은 파일에 지정된 문자열이 Null임을 보여주기 위한 것입니다. 이 활동을 수행하려면 아래 언급된 단계를 거쳐야 합니다.

이 작업에 대해 새로 수행할 작업은 없습니다. -z 문자열 연산자와 함께 동일한 이전 파일 CheckString.sh를 사용하십시오. 우리가 알고 있듯이 -z 연산자는 문자열이 Null일 때 True 부분을 실행합니다. 문자열 StdName에는 null 값이 있으므로 스크립트의 if 부분은 -z 연산자에 의해 수행됩니다.

이제 문자열이 null인지 확인하기 위해 아래 언급된 명령을 실행합니다.

$ bash CheckStrings.sh

문자열 StdName에는 이제 값이 없고 -z 문자열 연산자는 문자열이 null임을 알고 있으므로 if 부분을 실행합니다. 따라서 출력은 부착된 이미지에 표시된 대로 죄송합니다. 터미널에 이름이 없습니다.

문자열이 Null이 아닌 경우 if -z 사용

여기서 if-z 연산자를 사용하는 것은 파일의 지정된 문자열이 Null이 아님을 보여주기 위한 것입니다. 다음 단계를 수행하면 이 활동을 수행할 수 있습니다.

새로운 작업을 수행할 필요가 없습니다. 우리는 이 작업에 약간의 변경을 가한 동일한 이전 파일 CheckString.sh를 사용할 것입니다. 이번에는 -n 문자열 연산자를 -z 문자열 연산자로 대체합니다. 또한 스크립트의 if와 else 부분을 서로 교환해야 합니다. 우리가 알고 있듯이 -z 연산자는 문자열이 Null일 때 True 부분을 실행합니다. 문자열 StdName에는 null이 아닌 Aqsa Yasin 값이 있으므로 else 문은 -z 연산자에 의해 실행됩니다.

이제 문자열이 null인지 여부를 확인하기 위해 아래 언급된 명령을 실행합니다.

$ bash CheckStrings.sh

문자열 StdName은 이제 값 Aqsa Yasin을 가지며 -z 문자열 연산자는 문자열이 null이 아님을 알고 있으므로 else 부분을 실행합니다. 따라서 출력은 아래 이미지와 같이 터미널에서 Hy Aqsa Yasin이 됩니다.

문자열 사용자 입력을 받는 동안 if -z 사용

마지막으로 if-z 연산자를 사용하여 런타임에 추가된 문자열 입력을 테스트합니다. 사용자 문자열 입력을 테스트하려면 다음 단계를 수행해야 합니다.

이번에는 파일에서 스크립트를 어느 정도 변경해야 합니다. 우선, 우리는 변수 문자열이 뒤따르는 if 문에서 -z 연산자를 사용하고 있습니다. 시스템은 사용자에게 일부 문자열 값을 추가하도록 요청합니다. 사용자는 문자열을 추가합니다. 읽기 문 시스템을 사용하는 동안 사용자가 작성한 문자열을 문자열 변수에 저장합니다. 우리가 알고 있듯이 -z 연산자는 문자열이 유효할 때 명령문의 if 부분을 실행합니다. 사용자가 입력한 문자열이 null이면 시스템에서 문자열을 다시 입력하도록 요청합니다. 사용자가 입력한 문자열이 null이 아닌 경우 시스템은 해당 문자열을 표시합니다.

이제 아래 언급된 명령을 실행하여 사용자가 입력한 문자열을 확인합니다.

$ bash CheckStrings.sh

시스템이 사용자에게 문자열을 추가하도록 요청했을 때 사용자는 어떤 값도 추가하지 않습니다. 따라서 -z 연산자는 문자열을 null로 인식하므로 if 문을 실행했습니다. 시스템은 사용자에게 일부 문자열 값을 추가하라는 메시지를 다시 표시했습니다. 이제 이번에 사용자는 유효한 문자열 값인 New World Order를 추가했습니다. 따라서 시스템은 The string you input is: New World라는 메시지를 표시했습니다.

결론

이 가이드에서는 문자열 연산자를 사용하여 null이거나 null이 아닌 문자열 값을 테스트하는 방법을 알아봤습니다. 이 기사가 문자열 연산자 -z 및 -n에 대한 충분한 명령을 얻고 명령문을 조작하는 데 많은 도움이 되었기를 바랍니다.