소개
이 랩에서는 Linux 에서 문자열을 다루는 기본적인 기술을 배우게 됩니다. 쉘 스크립팅의 조건부 로직에 필수적인 기술인 test -z 명령어를 사용하여 문자열이 비어 있는지 효과적으로 확인하는 방법을 배우게 됩니다. 또한, 다재다능한 echo 명령어를 사용하여 문자열 내용을 표시하는 연습을 하고, expr length 명령어를 사용하여 문자열의 길이를 측정하는 방법을 탐구할 것입니다. 이러한 실습을 통해 Linux 환경 내에서 문자열을 조작하고 분석하는 실질적인 경험을 얻을 수 있습니다.
test -z 로 문자열 비어 있음 테스트
이 단계에서는 -z 옵션과 함께 test 명령어를 사용하여 Linux 에서 문자열이 비어 있는지 확인하는 방법을 배우게 됩니다. 이는 쉘 스크립팅에서 문자열을 다룰 때 기본적인 연산입니다.
test 명령어는 조건식 (conditional expressions) 을 평가하는 데 사용됩니다. -z 옵션은 특히 문자열의 길이가 0 인지 확인합니다. 문자열이 비어 있으면 테스트는 참 (true) 이고, 그렇지 않으면 거짓 (false) 입니다.
터미널에서 직접 해보겠습니다. 먼저, 빈 문자열 변수를 정의합니다. 쉘 스크립팅에서 변수를 정의하려면 변수 이름을 입력하고, 등호 (=) 를 입력한 다음, 값을 입력합니다. 등호 주변에는 공백이 없어야 합니다.
my_string이라는 이름의 빈 문자열 변수를 정의하려면 다음 명령을 입력하십시오.
my_string=""
이제 test -z 명령어를 사용하여 my_string이 비어 있는지 확인해 보겠습니다. test 명령어 자체는 출력을 생성하지 않습니다. 그 결과는 스크립트의 흐름을 제어하는 데 사용됩니다 (나중에 배우게 됩니다). 그러나 echo $?를 사용하여 이전 명령의 종료 상태 (exit status) 를 확인하여 결과를 볼 수 있습니다. 종료 상태가 0이면 성공 (true) 을 나타내고, 0 이 아닌 상태는 실패 (false) 를 나타냅니다.
my_string이 비어 있는지 테스트하려면 다음 명령을 입력하십시오.
test -z "$my_string"
test 명령어를 실행한 후, 종료 상태를 확인합니다.
echo $?
my_string이 비어 있으므로 test -z 명령어는 참으로 평가되어야 하며, echo $? 명령어는 0을 출력해야 합니다.
이제 비어 있지 않은 문자열을 정의해 보겠습니다.
another_string="Hello"
그리고 비어 있는지 테스트합니다.
test -z "$another_string"
종료 상태를 확인합니다.
echo $?
이번에는 another_string이 비어 있지 않으므로 test -z 명령어는 거짓으로 평가되어야 하며, echo $? 명령어는 1을 출력해야 합니다.
빈 문자열을 테스트하는 방법을 이해하는 것은 다양한 입력을 올바르게 처리하는 강력한 쉘 스크립트를 작성하는 데 매우 중요합니다.
echo 를 사용하여 문자열 내용 표시
이 단계에서는 echo 명령어를 사용하여 문자열 변수의 내용을 표시하는 방법을 배우게 됩니다. 첫 번째 랩에서 보았듯이, echo는 터미널에 텍스트를 출력하는 데 사용됩니다. 변수와 함께 사용하면 변수에 저장된 값을 출력합니다.
이전 단계에서 another_string이라는 변수를 정의하고 "Hello" 값을 할당했음을 기억하십시오.
another_string="Hello"
이 변수의 내용을 표시하려면 echo 명령어 다음에 달러 기호 ($) 와 변수 이름을 사용합니다. 달러 기호는 중요합니다. 이는 쉘에게 변수 이름 자체를 리터럴 문자열로 사용하는 것이 아니라 변수의 값을 사용하려는 것을 알려줍니다.
another_string의 내용을 표시하려면 다음 명령을 입력하십시오.
echo "$another_string"
다음 출력을 볼 수 있습니다.
Hello
변수를 더 큰 문자열 내에 포함할 수도 있습니다. 이는 메시지에 변수 값을 포함하는 일반적인 방법입니다.
다음 명령을 입력하십시오.
echo "The value of the string is: $another_string"
다음 출력을 볼 수 있습니다.
The value of the string is: Hello
변수 이름 또는 전체 문자열을 큰따옴표 (") 로 묶는 것이 일반적으로 권장됩니다. 이는 변수 값 내의 공백 또는 특수 문자와 관련된 문제를 방지하는 데 도움이 됩니다.
이전에 정의한 빈 문자열 my_string을 표시해 보겠습니다.
echo "$my_string"
my_string이 비어 있으므로 이 명령은 단순히 빈 줄을 출력합니다.
echo 명령어는 쉘 스크립팅에서 정보를 표시하고 디버깅하는 기본적인 도구입니다. 변수의 값과 명령의 출력을 확인하기 위해 자주 사용하게 될 것입니다.
expr length 로 문자열 길이 측정
이 단계에서는 length 연산자와 함께 expr 명령어를 사용하여 문자열의 길이를 측정하는 방법을 배우게 됩니다. expr 명령어는 수학 연산 및 문자열 조작을 포함한 표현식을 평가하는 데 사용됩니다.
expr 내의 length 연산자는 문자열을 인수로 받아 해당 문자열의 문자 수를 반환합니다.
이전 단계에서 정의한 another_string 변수를 사용해 보겠습니다. 이 변수의 값은 "Hello"입니다.
another_string="Hello"
another_string의 길이를 찾으려면 expr 명령어 다음에 length 연산자와 변수의 값을 사용합니다. 변수의 값을 얻으려면 변수 이름 앞에 달러 기호 ($) 를 사용하는 것을 잊지 마십시오.
다음 명령을 입력하십시오.
expr length "$another_string"
"Hello"의 문자 수인 다음 출력을 볼 수 있습니다.
5
이제 빈 문자열 my_string의 길이를 찾아보겠습니다.
my_string=""
다음 명령을 입력하십시오.
expr length "$my_string"
출력은 다음과 같아야 합니다.
0
이는 빈 문자열의 길이가 실제로 0 임을 확인합니다.
expr length 명령어는 쉘 스크립팅에서 문자열의 문자 수를 얻는 간단한 방법입니다. 이는 입력 길이 유효성 검사 또는 문자 반복과 같은 다양한 시나리오에서 유용합니다.
요약
이 랩에서는 test -z 명령어를 사용하여 Linux 에서 문자열이 비어 있는지 확인하는 방법을 배웠습니다. 이 명령어는 문자열이 비어 있으면 true(종료 상태 0) 로 평가되고, 그렇지 않으면 false(종료 상태 1) 로 평가됩니다. 빈 문자열과 비어 있지 않은 문자열 변수를 모두 정의하고 echo $?를 사용하여 종료 상태를 확인하여 test -z의 출력을 확인하는 연습을 했습니다. 또한 echo 명령어를 사용하여 문자열 변수의 내용을 표시하고 expr length 명령어를 사용하여 문자열의 길이를 측정하는 방법을 배웠습니다. 이러한 기본적인 연산은 쉘 스크립팅에서 문자열을 사용하는 데 필수적입니다.



