Linux 기본 논리 연산 이해
Linux 셸은 논리 연산자를 사용하여 명령과 조건을 결합하는 여러 가지 방법을 제공합니다. 이 단계에서는 가장 일반적으로 사용되는 논리 연산자인 && (AND) 와 || (OR) 에 대해 배우게 됩니다.
먼저, 프로젝트 디렉토리로 이동해 보겠습니다.
cd ~/project
이 랩 전체에서 사용할 몇 가지 테스트 파일을 만들어 보겠습니다.
touch treasure_map.txt shield.txt kings_gauntlet.txt
이제 기본적인 논리 연산을 시연하기 위한 스크립트를 만들어 보겠습니다. nano 텍스트 편집기를 사용하여 logic_basics.sh라는 파일을 만듭니다.
nano logic_basics.sh
이 스크립트에서는 논리 연산자를 사용하여 두 파일이 존재하는지 확인합니다. 다음 코드를 편집기에 입력하거나 붙여넣으세요.
#!/bin/bash
## This script demonstrates logical AND (&&) and OR (||) operators
## It checks if two specific files exist in the current directory
if [[ -f "treasure_map.txt" ]] && [[ -f "shield.txt" ]]; then
echo "Both files exist. Proceed with the mission."
else
echo "One or both files are missing. Abort the mission!"
fi
&& 연산자는 "AND"를 의미합니다. 전체 조건이 참이 되려면 두 조건 모두 참이어야 합니다.
-f 테스트는 파일이 존재하고 일반 파일인지 (디렉토리 또는 기타 특수 파일이 아닌지) 확인합니다.
nano 에서 파일을 저장하려면 Ctrl+X를 누른 다음 Y를 눌러 저장을 확인하고 Enter를 눌러 파일 이름을 확인합니다.
이제 스크립트를 실행 가능하게 만들고 실행해 보겠습니다.
chmod +x logic_basics.sh
./logic_basics.sh
다음 출력을 볼 수 있습니다.
Both files exist. Proceed with the mission.
논리 연산자를 더 잘 이해하기 위해 다른 예를 시도해 보겠습니다. logical_or.sh라는 새 스크립트를 만듭니다.
nano logical_or.sh
다음 내용을 추가합니다.
#!/bin/bash
## This script demonstrates the logical OR (||) operator
## It checks if at least one of two files exists
if [[ -f "treasure_map.txt" ]] || [[ -f "nonexistent_file.txt" ]]; then
echo "At least one file exists."
else
echo "Neither file exists."
fi
|| 연산자는 "OR"를 의미합니다. 두 조건 중 하나라도 참이면 전체 조건이 참입니다.
파일을 저장하고 (Ctrl+X, Y, Enter), 실행 가능하게 만들고, 실행합니다.
chmod +x logical_or.sh
./logical_or.sh
출력:
At least one file exists.
이것은 "nonexistent_file.txt"가 존재하지 않더라도 "treasure_map.txt"가 존재하기 때문에 조건이 여전히 참임을 보여줍니다.