Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

Bash 프로그래밍

  1. Bash 연관 배열로 데이터 깔끔하게 관리하기

    셸 스크립트든, 파이썬이든, C++이든, 심지어 스크래치(Scratch)든 코드를 작성해 본 적이 있다면 변수가 얼마나 중요한지 잘 알 것입니다. 컴퓨터와 개발자는 변수를 일종의 중간 거점처럼 활용하며, 그 사이에서 정보를 몰래 주고받습니다. 예를 들어 셸 스크립트에서 사용자 이름을 처리해야 한다면, 변수를 하나 만들고 그 안에 사용자 이름을 넣은 뒤, 컴퓨터에게 해당 변수로 무언가를 하도록 지시하는 방식입니다(예를 들어 허가된 사용자 목록과 대조하기). 변수는 코드가 동적으로 작동할 수 있게 해주기 때문에 중요합니다. 즉, 코드를

  2. 이 팁 하나로 Bash 히스토리를 더 유용하게 만들어 보세요

    리눅스 터미널에서 Bash를 사용하면 최근에 어떤 작업을 했는지 추적할 수 있는 내장 히스토리 기능이 제공됩니다. 현재 Bash 세션의 명령어 기록을 확인하려면 내장 명령어인 history를 입력하면 됩니다: $ echo foo foo $ echo bar bar $ history 1 echo foo 2 echo bar 3 history history 명령어는 대부분의 명령어와 달리 파일 시스템에 존재하는 실행 파일이 아니라 Bash 자체의 기능입니다. type 명령어로 이를 직접 확인할 수 있습니다: $ type h

  3. Bash trap 지시어로 스크립트 종료 제어하기

    셸 스크립트가 시작되는 시점을 감지하는 것은 쉽지만, 언제 종료되는지 파악하는 것은 항상 쉬운 일이 아닙니다. 스크립트는 작성자가 의도한 대로 정상적으로 끝날 수도 있지만, 예기치 못한 치명적인 오류로 인해 실패할 수도 있습니다. 때로는 스크립트가 실패했을 때 진행 중이던 작업의 흔적을 보존하는 것이 유익하고, 또 어떤 경우에는 그것이 오히려 불편함을 초래하기도 합니다. 어느 쪽이든 스크립트의 종료를 감지하고 사전에 설계된 방식으로 대응할 수 있게 해주는 것이 바로 Bash의 trap 지시어입니다. 오류에 대응하기 다음은 스크립트

  4. 대용량 파일 시스템 작업에 유용한 Bash 스크립트 활용법

    디렉터리 안의 파일만 깔끔하게 목록으로 보고 싶은 적이 있으신가요? 아니면 반대로 디렉터리만 보고 싶으셨나요? 그렇다면 아래 소개하는 GPLv3 라이선스의 오픈 소스 스크립트가 바로 여러분이 찾던 도구일지도 모릅니다. 물론 find 명령어를 사용할 수도 있습니다: find . -maxdepth 1 -type f -print 하지만 이 방식은 매번 입력하기 번거롭고, 출력 결과도 직관적이지 않으며, ls 명령어가 제공하는 편리한 기능들을 활용할 수 없다는 단점이 있습니다. ls와 grep을 조합해 비슷한 결과를 얻는 방법도 있습

  5. 시스템 관리자를 위한 Bash 스크립팅 완벽 가이드

    Bash는 세상에 존재하는 유일한 셸은 아니지만, 분명히 가장 강력한 셸 중 하나입니다. 그래서 단순히 명령어 목록을 나열하는 수준을 넘어, 실질적인 애플리케이션을 개발해야 하는 시스템 관리자들에게 Bash가 인기 있는 선택지가 됩니다. 물론 다른 셸도 훌륭한 용도가 많습니다(예를 들어 저는 Git 훅에는 Tcsh를 기본으로 사용합니다). 하지만 진지한 스크립팅 작업이라면 Bash가 손색없는 선택인데, 그 이유를 지금부터 살펴보겠습니다. 함수(Function) Bash 스크립트에서 함수를 만들려면 function 키워드를 사용합니다

  6. 간단한 Bash 스크립트로 집에서 양면 인쇄 자동화하기

    우리 집에는 레이저 프린터가 한 대 있습니다. HP LaserJet Pro CP1525nw 컬러 프린터는 꽤 오래된 모델이지만, 수년간 흔들림 없이 컬러 인쇄를 해내는 든든한 일꾼 역할을 해왔습니다. 몇 년 전 라즈베리 파이를 프린트 서버로 활용해 이 프린터를 가정용 네트워크에 연결해 두었습니다. 이 LaserJet은 홈 오피스에 큰 보탬이 되었습니다. 작년에 회사를 설립한 이후로 고객 미팅, 워크숍, 교육 세션에 사용할 유인물과 각종 자료를 인쇄하는 일을 이 작은 레이저 프린터에 의지하고 있습니다. 유일하게 아쉬운 점은 이 프린터

  7. Bash 프로그래밍 입문: 터미널로 시작하는 업무 자동화

    유닉스 초기의 비전 중 하나는 일반 사용자가 자신만의 작업 방식에 맞게 컴퓨터를 세밀하게 조정할 수 있도록 돕는 것이었습니다. 그러나 수십 년이 흐르는 동안 컴퓨터 커스터마이징에 대한 기대는 줄어들었고, 많은 사용자는 앱과 웹사이트 모음을 곧 나만의 환경으로 여기게 되었습니다. 그 이유 중 하나는 대다수 운영체제의 구성 요소가 공개되어 있지 않아 일반 사용자가 소스 코드에 접근할 수 없기 때문입니다. 하지만 리눅스 사용자에게는 커스텀 프로그램이 훨씬 가깝습니다. 시스템 전체가 터미널을 통해 사용할 수 있는 명령어를 기반으로 구축되어

  8. 별 관찰 때 유용한 Bash 스크립트: 야간 시력을 지키는 Redscreen 활용법

    리눅스는 서버나 개발 환경에서 주로 쓰인다고 알려져 있지만, 사실 천문학을 비롯한 다양한 분야에서도 널리 활용되고 있습니다. 리눅스에는 하늘 지도, 별자리 차트, 망원경 구동 장치 제어 인터페이스 등 유용한 천문 도구가 많이 마련되어 있습니다. 다만 천문학자들에게는 하나의 고민거리가 있습니다. 바로 어두운 밤야외에서 컴퓨터를 사용하면서도 눈의 어둠 적응 상태를 유지해야 한다는 점입니다. 야간 시력 보호가 중요한 이유 밤에 야외에서 작업할 때 천문학자들은 야간 시력을 반드시 보존해야 합니다. 사람의 눈이 저조도 환경에 완전히 적응하는

  9. 16개 퍼즐로 배우는 Bash 스크립팅, 『Bash it out』 리뷰

    컴퓨터는 저에게 취미이자 직업입니다. 집 곳곳에 약 10대의 컴퓨터를 두고 있으며, 맥을 포함해 모두 리눅스를 실행하고 있습니다. 컴퓨터와 컴퓨터 실력을 꾸준히 업그레이드하는 것을 좋아하는 저는 실베인 르루(Sylvain Leroux)의 『Bash it out』을 발견하자마자 바로 구매했습니다. 평소 데비안 리눅스에서 명령줄을 자주 사용하기 때문에 Bash 지식을 넓힐 좋은 기회라고 생각했습니다. 특히 서문에서 저자가 데비안 리눅스를 사용한다고 밝혔을 때는 미소가 절로 나왔는데, 데비안은 제가 가장 좋아하는 두 배포판 중 하나이기

  10. 나만의 Bash 꿀팁 대공개: 매일 쓰는 별칭과 함수 모음

    하루 종일 컴퓨터 앞에서 일하다 보면, 반복해서 쓰는 명령어를 미리 정리해두고 필요할 때 바로 꺼내 쓸 수 있다는 게 정말 큰 행운입니다. 이런 명령어들은 ~/.bashrc(Zsh 사용자라면 ~/.zshrc) 파일 속에 고이 잠들어 있으며, 여러분의 하루를 조금 더 편하게 만들어 주기를 기다리고 있습니다.이 글에서는 자주 까먹는 작업들을 위해 만들어둔 제가 가장 아끼는 헬퍼 명령어 몇 가지를 공유합니다. 여러분도 소중한 시간을 아끼고 골치 아픈 일을 피하는 데 도움이 되길 바랍니다.명령이 끝나면 소리 내어 알려주기실행 시간이 긴 명

  11. setV: 파이썬 가상 환경을 손쉽게 관리하는 경량 Bash 함수

    1년 넘게 setV는 제 bash_scripts 프로젝트 안에 숨겨져 있었는데, 이제 공개할 때가 되었다고 생각합니다. setV는 virtualenvwrapper의 대안으로 사용하는 Bash 함수로, 다음과 같은 기본 기능들을 제공합니다. 기본적으로 Python 3 사용 새로운 가상 환경 생성 -p(또는 --python) 옵션으로 사용자 지정 Python 경로를 이용한 가상 환경 생성 기존 가상 환경 삭제 모든 가상 환경 목록 조회 탭(Tab) 자동 완성 지원 — 가상 환경 이름이 기억나지 않을 때 유용 설치 방법 setV를 설

  12. Bash 스크립트로 Helm 배포 자동화하기

    일부 애플리케이션은 Kubernetes 클러스터에서 호스팅되며, 저희는 GitLab 지속적 통합(CI)으로 배포를 자동화하고 Helm 2를 사용해 애플리케이션을 배포합니다. Helm 차트는 Kubernetes 객체 YAML 파일의 템플릿을 저장하면서, 배포 시 차트를 사용할 때 명령줄 인수로 프로그래밍 방식으로 설정할 수 있는 변수를 함께 담을 수 있습니다. 덕분에 중요한 시크릿(secret) 값들을 GitLab 보호 환경 변수나 Hashicorp Vault에 안전하게 보관하고, CI 배포 작업 안에서 그대로 활용할 수 있습니다.

  13. Linux 터미널 고수들이 매일 쓰는 트릭 대공개: 단축키부터 이스터 에그까지

    새해를 맞이하면 누구나 한 번쯤 더 효율적으로 일할 방법은 없을까?라고 고민하게 됩니다. 많은 사람들이 새로운 생산성 도구를 찾아보거나 반복적인 업무 프로세스를 최적화하곤 하는데요, 그중에서도 놓치기 쉬운 영역이 바로 터미널입니다. 특히 오픈소스 세계에서는 단축키와 명령어 하나만으로도 터미널 작업을 훨씬 빠르고 재미있게 만들어 주는 방법이 무궁무진합니다. 저희는 필자들에게 가장 마음에 드는 터미널 트릭을 물어보았습니다. 그들은 시간을 절약해 주는 실전 팁은 물론, 터미널 속에 숨겨진 이스터 에그까지 소개해 주었습니다. 이 가운데

  14. screenFetch와 Neofetch로 Linux 시스템 정보를 멋지게 공유하는 방법

    다른 사람들과 Linux 시스템 설정을 공유하고 싶은 이유는 다양합니다. 시스템에서 발생한 문제 해결에 도움을 받고 싶을 수도 있고, 정성껏 꾸며놓은 나만의 환경이 너무 마음에 들어 오픈 소스 동료들에게 자랑하고 싶을 수도 있습니다. Bash 프롬프트에서 cat /proc/cpuinfo나 lscpu 명령어를 입력하면 일부 시스템 정보를 확인할 수 있습니다. 하지만 운영체제, 커널 버전, 업타임(가동 시간), 셸 환경, 화면 해상도 등 더 많은 세부 정보를 한눈에 보기 좋게 공유하고 싶다면 screenFetch와 Neofetch, 이

  15. Bash 셸 스크립트로 시작하는 리눅스 자동화 입문

    리눅스 시스템을 직접 운영하고 관리하는 시스템 관리자(sysadmin)에게는 업무 효율을 극대화할 수 있는 다양한 도구가 기본적으로 제공됩니다. 이 글은 그러한 도구들을 최대한 활용해 여러분의 업무를 더 편하게 만들어 줄 수 있도록, Bash 셸 스크립트를 활용한 자동화 방법을 다루는 시리즈의 첫 번째 아티클입니다. 이 시리즈에서 다루는 내용 Bash 셸 스크립트로 자동화할 때의 장점 C나 C++ 같은 컴파일 언어보다 셸 스크립트가 시스템 관리자에게 더 적합한 이유 새로운 스크립트를 위한 요구 사항 정의하기 명령줄 인터페이스(CL

  16. Bash 스크립트 템플릿 만들기: 체계적인 셸 스크립팅의 시작

    이 시리즈의 첫 번째 글에서는 한 줄짜리 아주 간단한 Bash 스크립트를 만들어 보았고, 셸 스크립트를 만드는 이유와 컴파일된 프로그램보다 시스템 관리자에게 왜 가장 효율적인 선택인지 살펴보았습니다.이 두 번째 글에서는 다른 Bash 스크립트의 출발점으로 활용할 수 있는 Bash 스크립트 템플릿을 만들기 시작합니다. 이 템플릿에는 최종적으로 도움말(Help) 기능, 라이선스 문구, 몇 가지 기본 함수, 그리고 이러한 옵션들을 처리하는 로직이 포함되며, 이 템플릿을 기반으로 만들어질 스크립트에 필요할 수 있는 다른 요소들도 담게 됩니

  17. Bash 스크립트에 도움말(Help) 기능 추가하는 방법

    이 시리즈의 첫 번째 글에서는 아주 간단한 한 줄짜리 Bash 스크립트를 만들어 보면서, 셸 스크립트를 작성하는 이유와 컴파일 방식의 프로그램보다 셸 스크립트가 시스템 관리자에게 가장 효율적인 선택인 이유를 살펴보았습니다. 두 번째 글에서는 다른 Bash 프로그램의 출발점으로 활용할 수 있는 비교적 간단한 템플릿을 만드는 작업을 시작하고, 이를 테스트하는 방법까지 알아보았습니다.네 편으로 구성된 이 시리즈의 세 번째 글에서는 간단한 도움말(Help) 기능을 만들고 사용하는 방법을 설명합니다. 도움말 기능을 구현하는 과정에서 함수를

  18. Bash 스크립트 작성 마스터하기: 변수, 상수, 그리고 무결성 검사

    이 시리즈의 첫 번째 글에서는 아주 짧은 한 줄짜리 Bash 스크립트를 직접 만들어 보고, 셸 스크립트를 작성해야 하는 이유를 살펴보았습니다. 두 번째 글에서는 다른 Bash 프로그램의 출발점으로 활용할 수 있는 비교적 간단한 템플릿을 만들기 시작했고, 세 번째 글에서는 간단한 Help 함수를 만들어 사용하는 방법과 -h 같은 명령줄 옵션을 처리하는 방법을 배웠습니다.시리즈의 네 번째이자 마지막 글에서는 변수와 변수 초기화 방법, 그리고 프로그램이 올바른 조건에서 실행되도록 돕는 간단한 무결성 검사(sanity check) 방법을

  19. 더 나은 Bash 사용자가 되기 위한 10가지 필수 리소스

    Opensource.com의 또 한 해가 저물어 가면서, Bash에 관한 모든 것에 매료되어 있던 저는 2019년에 발행된 최고의 Bash 아티클 10편을 돌아보게 되었습니다. 이 글들에는 기초 활용법, 유용한 도구, 단축키, 심지어 Bash로 자신만의 명령줄 게임을 만드는 방법까지 담겨 있습니다.이 목록은 단순히 조회 수만으로 선정한 것이 아니라 여러 기준을 종합하여 뽑았습니다. 진정한 카운트다운 정신에 따라, 2019년 최고의 Bash 아티클은 맨 마지막에 공개됩니다.10위: Bash vs. Python — 어떤 언어를 사용해야

  20. Bash 스크립트 실력을 한 단계 끌어올리는 5가지 필수 기법

    시스템 관리자라면 다양한 작업을 자동화하기 위해 Bash 스크립트를 자주 작성하게 됩니다. 짧은 스크립트도 있고, 상당히 길고 복잡한 스크립트도 있죠.소프트웨어 벤더가 제공하는 설치 스크립트를 들여다본 적이 있으신가요? 이런 스크립트에는 고객의 시스템에 손상을 주지 않고 설치가 제대로 완료되도록 수많은 함수와 검증 로직이 포함되어 있습니다. 저는 오랜 기간 Bash 스크립트의 품질과 안정성을 높이기 위한 다양한 기법들을 축적해 왔는데, 그중 유용한 몇 가지를 소개하려고 합니다. 여러분의 스크립트 작성에 도움이 되기를 바랍니다.시작은

Total 306 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:7/16  20-컴퓨터/Page Goto:1 2 3 4 5 6 7 8 9 10 11 12 13