반응형
운영 체제를 판별하는 코드
코드 작성
- 코드를 작성합니다
vim script.py
#!/usr/bin/env python3
import os
def check_command(command):
"""명령어가 시스템에 존재하는지 확인"""
return bool(os.system(f"command -v {command} > /dev/null 2>&1") == 0)
def main():
if check_command('apt'):
print("Ubuntu")
elif check_command('yum'):
print("CentOS")
else:
print("other operating system.")
exit(1)
if __name__ == "__main__":
main()
실행 권한 부여
- 스크립트에 실행 권한을 부여합니다.
chmod +x script.py
코드 실행
- 스크립트를 실행합니다.
$ ./script.py
Ubuntu
코드 설명
- #!/usr/bin/env python3 : 스크립트의 첫 줄은 스크립트를 실행할 인터프리터를 지정합니다. 이 경우 python3을 사용합니다.
- import os : 파이썬의 내장 모듈인 os를 임포트하여 운영 체제와 상호작용할 수 있도록 합니다.
- def check_command(command) : check_command 함수는 주어진 명령어가 시스템에 존재하는지 확인하는 함수입니다. 이 함수는 os.system()을 사용하여 쉘 명령어를 실행하여 명령어의 존재 여부를 확인합니다. 명령어가 존재하면 반환 코드가 0이 되고, 존재하지 않으면 반환 코드가 1이 됩니다.
- def main() : main 함수는 스크립트의 주요 로직을 포함합니다. 여기서는 apt와 yum 명령어의 존재 여부를 확인하여 각각 Ubuntu와 CentOS인지를 판별하고, 그 외의 경우에는 "other operating system."을 출력합니다.
- if __name__ == "__main__": : 이 부분은 스크립트가 직접 실행될 때만 실행되도록 하는 부분입니다. 스크립트가 모듈로 임포트되면 이 부분은 실행되지 않습니다. 여기서는 main() 함수를 호출하여 스크립트의 주요 로직을 실행합니다.
이렇게 구성된 코드는 시스템에 설치된 패키지 관리자를 확인하여 운영 체제를 판별하는 간단한 기능을 수행합니다.
참고URL
- 변군이글루 : distro 모듈을 사용하여 운영체제 정보 확인 예제
데프 메인(
728x90
반응형
'스크립트' 카테고리의 다른 글
scp 명령어를 사용하여 파일을 쉽게 업로드 및 다운로드할 수 있는 스크립트 (0) | 2024.05.27 |
---|---|
[python] 환경 변수를 .env 파일에서 로드하는 코드를 작성 (0) | 2024.05.14 |
[python] distro 모듈을 사용하여 운영체제 정보 확인 예제 (0) | 2024.05.13 |
[python] 아파치 웹 서버를 시작하고 중지하는 스크립트 (0) | 2024.05.10 |
os 모듈과 subprocess 모듈의 차이점 (0) | 2024.05.02 |