고급 프로그래밍 언어에 대한 경험이 있음에도 불구하고 Bash를 사용하여 작업을 자동화하는 데 여전히 어려움을 겪고 있습니다(Unix - Linux Mint를 처음 접하는 경우). 언어는 매우 강력하지만 학습 곡선이 너무 가파르습니다. 그래서 저는 스크립팅을 위해 완전히 Python으로 전환하는 것을 고려하고 있습니다(Python은 Linux Mint에 사전 설치되어 제공됩니다).
나는 단순성과 우아함(Bash)보다는 가독성과 테스트 가능성(Python)을 선호합니다.
OS 관련 작업에 스크립트와 함께 Python을 사용하는 것이 합리적이거나 가능하지 않은 가장 중요한 이유 중 일부를 나열해 주시겠습니까?
답변1
"자동화된 작업"은 약간 광범위합니다. 많은 일반적인 시스템 관리 작업은 매우 간단한 쉘 스크립트나 단일 명령에 저장될 수 있으며, 여기서 "실제" 언어 수준은 너무 높아서 실용적이지 않습니다. 여기서 "Shell"이라는 이름이 유래되었습니다. 그 안에 편안하게 앉아 있으면서도 갇혀 있기도 합니다. Perl 쉘이나 Python 쉘이 없습니다. 이유조차 모르겠습니다.
쉘을 사용하면 통합할 수 있습니다.다른 통역사매우 간단합니다. 실행 파일에 대한 shebang과 문자열("한 줄") 또는 파일("이름이 지정된 스크립트")을 사용하는 명시적인 호출입니다.
가독성과 테스트 가능성 vs 단순성과 우아함
어떤 언어로든 이 작업을 수행할 수 있습니다.특정 문제에 따라 다름. 문제는 (python vs. perl) vs. bash
어떤 "못"을 치기 위해 어떤 "해머"를 사용해야 하는가가 아닙니다.
댓글에서:
속도는 또 다른 문제일 수 있습니다. Python 시작이 느릴 수 있습니다...
다시 말하지만, 모든 것은 특정 작업/알고리즘에 따라 다릅니다. 그러나 겉보기에 "해롭지 않은" 루프가 특정 방식으로 수행되면 10배 또는 100배 더 오래 걸릴 수 있기 때문에 속도는 항상 문제입니다.
내가 말하려는 것은, 당신이 편한 것을 사용하면 작업이 완료된다는 것입니다.
이것이 의미하는 바에 동의합니다: 스크립트를 작성하기 전에 다음을 결정해야 합니다.
- 이를 효율적으로 수행하는 방법은 무엇입니까? (휴대용, 유지 관리 가능, 우아함,...)
- 나는 어떤 도구를 사용하고 싶나요? (내가 잘하는 걸까?)
일치해야 합니다.
그렇지 않다면 해킹하는 것입니다.당신의언어 또는 새로운 주제를 배우는 곳다른언어.