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

Bash 프로그래밍

  1. Bash 셸 프롬프트 마스터하기: PS1, PS2, PS3, PS4, PROMPT_COMMAND 완벽 가이드

    PS1, PS2, PS3, PS4, PROMPT_COMMAND 환경 변수를 효과적으로 활용하면 리눅스 Bash 셸과의 상호작용이 한층 편리하고 즐거워집니다. 여기서 PS는 프롬프트 문자열(Prompt Statement)을 의미합니다. 이 글에서는 간단한 예제를 통해 리눅스 명령 프롬프트 환경 변수의 기본 개념부터 실전 활용법까지 살펴보겠습니다. 1. PS1 – 기본 대화형 프롬프트 리눅스의 기본 대화형 프롬프트는 아래와 같이 더 유용하고 정보성 있는 형태로 변경할 수 있습니다. 다음 예제에서 기본 PS1 값은 \s-\v\$로, 셸

  2. Bash PS1 프롬프트 완전 정복: 리눅스 터미널을 스타일리시하게 꾸미는 10가지 실전 예제

    사진 출처: f1r3storm85 들어가며 이전 글에서 리눅스 환경 변수인 PS[1-4]와 PROMPT_COMMAND에 대해 다루었습니다. PS1을 잘 활용하면 명령 프롬프트에서 바로 유용한 정보를 확인할 수 있습니다. 영화 툼 레이더의 앤젤리나 졸리는 미스터리를 해결하기 위해 필요한 모든 가젯과 무기를 손끝에서 자유자재로 사용합니다. 그녀의 장비와 스타일을 따라가기는 어렵지만, 적어도 낡은 리눅스 프롬프트라도 이 글에서 소개하는 10가지 예제를 통해 기능적이고 세련되게 만들어 보겠습니다. 1. 프롬프트에 사용자명, 호스트명, 현재

  3. bash 시작 파일 실행 순서 완벽 정리: .bash_profile, .bashrc, .bash_login, .profile, .bash_logout

    bash 시작 파일 실행 순서 완벽 정리 리눅스에서 bash 셸을 사용하다 보면 .bash_profile, .bashrc 같은 여러 설정 파일을 자주 접하게 됩니다. 그런데 이 파일들이 어떤 순서로 실행되는지 정확히 알고 있는 사용자는 많지 않습니다. 이 글에서는 다음 파일들이 셸 시작 및 종료 시점에 어떤 순서로 실행되는지 자세히 설명합니다. /etc/profile ~/.bash_profile ~/.bashrc ~/.bash_login ~/.profile ~/.bash_logout 로그인 셸(interactive login s

  4. bash-support 플러그인으로 Vim을 강력한 Bash IDE로 만들기

    이 글은 SathiyaMoorthy가 작성했습니다.이 글은 Vi / Vim 팁 & 트릭 시리즈의 일부입니다. Linux 시스템 관리자나 프로그래머라면 bash 셸 스크립트를 작성할 때 다음과 같은 반복적인 작업을 자주 수행하게 됩니다.파일 헤더 추가함수 및 프레임 주석 추가기본 코드 스니펫 삽입문법 검사 수행함수 관련 문서 확인코드 블록을 주석으로 변환하거나 그 반대로 변환bash-support Vim 플러그인은 이러한 모든 작업을 가장 손쉽게 처리할 수 있게 해주어, 많은 시간과 키 입력을 절약해 줍니다.이 플러그인은 Fr

  5. Bash 문자열 조작 완벽 가이드 – 길이 확인, 부분 문자열 추출, 찾기와 바꾸기

    bash 셸에서 달러 기호($) 뒤에 변수 이름을 붙이면 셸은 해당 변수를 그 값으로 확장합니다. 이처럼 셸이 변수 값을 치환해주는 기능을 매개변수 확장(parameter expansion)이라고 부릅니다.그런데 매개변수 확장은 단순한 값 치환을 넘어, 확장 과정에서 값을 수정하거나 다른 값으로 대체할 수 있는 다양한 형태를 제공합니다. 이 글에서는 매개변수 확장 개념을 활용해 문자열을 자유롭게 조작하는 방법을 예제와 함께 살펴보겠습니다.1. bash 셸 스크립트에서 문자열 길이 구하기${#string}위 형식은 주어진 변수에 담긴

  6. 예제로 배우는 유용한 Bash 셸 내장 명령 15가지

    Bash에는 셸 자체에 내장되어 있는 여러 가지 명령어가 있습니다. 내장(built-in) 명령을 실행하면 bash 셸이 다른 프로그램을 호출하지 않고 즉시 실행합니다.외부 명령은 실행하기 위해 별도의 프로세스를 fork해야 하는 반면, 내장 명령은 그렇지 않기 때문에 외부 명령보다 훨씬 빠르게 동작합니다.이 글에서는 유용한 bash 셸 내장 명령 15가지를 예제와 함께 살펴보겠습니다.1. Bash export 명령 예제export 명령은 변수나 함수를 현재 셸에서 실행 중인 모든 자식 프로세스의 환경으로 내보낼 때 사용합니다.ex

  7. 리눅스 셸 스크립팅 필수 문법, Bash For 루프 12가지 실전 예제

    Bash의 for 루프는 크게 두 가지 방식으로 작성할 수 있습니다. 하나는 in 키워드와 함께 값 목록을 사용하는 방식이며, 다른 하나는 C 프로그래밍 언어와 유사한 문법을 사용하는 방식입니다. 이 글은 지속적으로 연재되고 있는 Bash 튜토리얼 시리즈의 일부입니다. 두 가지 for 루프 방식을 모두 설명하고, 셸 스크립트에서 for 루프를 활용할 수 있는 12가지 서로 다른 예제를 소개합니다. Bash for 루프 활용법이 궁금할 때 이 글 하나면 충분하니, 나중에 다시 찾아볼 수 있도록 북마크해 두시기 바랍니다. 방법 1:

  8. 꼭 알아야 할 Linux Bash 히스토리 확장 예제 15가지

    Bash 히스토리는 매우 강력한 기능입니다. Bash 히스토리 확장을 효과적으로 활용하는 방법을 익히면 Linux 명령줄에서 작업 생산성이 크게 향상됩니다. Bash 히스토리 확장의 3가지 핵심 요소 이 글에서는 다음 세 가지 Bash 히스토리 확장 기능을 활용한 15가지 실전 예제를 소개합니다. 이벤트 지정자(Event Designators) – 히스토리에서 특정 명령을 참조합니다. 느낌표(!)로 시작합니다. 단어 지정자(Word Designators) – 히스토리 항목의 특정 단어를 참조합니다. 보통 이벤트 지정자와 조합하여

  9. 리눅스에서 SHC로 Bash 셸 스크립트 암호화하는 방법

    셸 스크립트 암호화, 정말 필요한가? 질문: 리눅스 환경에서 bash 셸 스크립트를 암호화하려면 어떻게 해야 하나요? 스크립트에 비밀번호가 포함되어 있어서, 실행 권한이 있는 다른 사람들이 스크립트 내용을 열어보고 비밀번호를 알아내지 못하게 하고 싶습니다. 셸 스크립트를 암호화할 방법이 있을까요? 답변: 우선 모범 사례의 관점에서 보면, 셸 스크립트 자체를 암호화하는 것은 권장하지 않습니다. 대신 스크립트에 충분한 주석과 문서를 작성해 누구나 코드를 보고 정확히 무엇을 하는지 이해할 수 있도록 하는 것이 좋습니다. 만약 비밀번호처럼

  10. 리눅스 Bash 명령줄에서 활용할 수 있는 5가지 표준 자동 완성 기능

    리눅스에서는 별도의 설정 없이도 Bash가 기본적으로 명령줄 작업을 도와주는 다음과 같은 표준 자동 완성(completion) 기능을 제공합니다. Tab 키를 활용하는 이 기능들을 익혀두면 명령어 입력 속도와 정확도가 크게 향상됩니다. 변수명 자동 완성 사용자 이름 자동 완성 실행 파일 경로 자동 완성 파일명 및 디렉터리 자동 완성 호스트 이름 자동 완성 1. 변수명 자동 완성 터미널에서 $를 입력한 상태로 Tab 키를 두 번 누르면, 현재 셸에서 사용할 수 있는 모든 환경 변수와 셸 변수 목록이 아래와 같이 표시됩니다. $ e

  11. Bash 자동 완성 마스터하기: Linux Bash Completion 실전 명령 예제 10가지

    리눅스에서 명령어를 입력하는 도중 TAB 키를 두 번 누르면, 입력한 문자로 시작하는 모든 사용 가능한 명령어 목록이 화면에 나타납니다. 이미 많은 분들이 알고 계신 기능일 것입니다. 이것이 바로 bash completion(Bash 자동 완성)입니다. Bash 명령줄에서는 기본적으로 파일과 디렉터리 이름 자동 완성이 제공됩니다. 하지만 complete 명령을 활용하면 이 bash 자동 완성 기능을 한 단계 더 강력하게 끌어올릴 수 있습니다. 이 글에서는 프로그래밍 가능한 자동 완성(programmable completion)을 통

  12. 리눅스 .inputrc 파일로 나만의 키 바인딩 만들기: 매크로와 함수 바인딩 완벽 가이드

    리눅스 명령줄 환경에서 Readline은 홈 디렉터리에 위치한 .inputrc 설정 파일을 수정함으로써 사용자 지정 키 바인딩(keybinding)을 자유롭게 매핑할 수 있도록 해줍니다. 정의할 수 있는 사용자 지정 키 바인딩에는 크게 두 가지 종류가 있습니다. 매크로(Macro) 함수(Function) 매크로(Macro) 정의하기 매크로는 실행 시점에 커서의 현재 위치에 특정 문자열을 자동으로 입력해 주는 키 바인딩입니다. 이를 정의하려면 .inputrc 파일(아직 없다면 새로 생성)에 아래 형식의 한 줄을 추가하면 됩니다

  13. Linux 터미널 리디렉션 완벽 가이드: 어디서든 데이터 읽고 쓰기

    입력과 출력의 리디렉션(redirection)은 모든 프로그래밍 및 스크립팅 언어가 기본적으로 갖춘 기능입니다. 엄밀히 말하면 컴퓨터와 상호작용하는 순간마다 항상 일어나는 동작이기도 합니다. 입력은 stdin(표준 입력, 보통 키보드나 마우스)에서 읽히고, 출력은 stdout(표준 출력, 텍스트 또는 데이터 스트림)으로 전달되며, 오류는 stderr(표준 오류)로 전송됩니다. 이러한 데이터 스트림의 존재를 이해하면 Bash나 Zsh 같은 셸을 사용할 때 정보가 어디로 향할지 직접 통제할 수 있습니다. 표준 입력, 표준 출력, 표준

  14. 여러 해가 지나도 여전히 tcsh를 사랑하는 이유

    나는 스스로를 만족스러운 Bash 사용자라고 생각합니다. 하지만 유닉스를 처음 접했을 때는 tcsh가 기본 셸로 제공되는 상용 유닉스 시스템이었기 때문에, 저의 초기 셸 경험은 최신 버전의 C 셸(csh)에서 시작되었습니다. 이것은 결과적으로 행운의 우연이었는데, 제 커리어 후반에 일했던 영화 스튜디오에서도 tcsh가 선호하는 셸이었기 때문입니다. 지금까지도 논리적 연관성은 없지만 몇 가지 작업은 tcsh와 연관 지어 생각하게 됩니다. 적어도 하나의 시스템에서는 감을 잃지 않기 위해 여전히 tcsh를 사용하고 있습니다. 또한 모든

  15. 대화형 게임 만들기로 배우는 Bash 프로그래밍

    새로운 프로그래밍 언어를 배우는 일은 생각보다 즐거운 경험이 될 수 있습니다. 저는 새로운 언어를 배울 때마다 변수 정의, 문장 작성, 표현식 평가라는 세 가지 핵심에 집중합니다. 이러한 기본 개념을 전반적으로 이해하고 나면 나머지 부분은 스스로 익혀 나갈 수 있는 경우가 많습니다. 대부분의 프로그래밍 언어는 서로 유사한 점이 많기 때문에, 한 가지 언어를 이미 알고 있다면 새로운 언어를 배우는 과정은 고유한 세부 사항을 파악하고 차이점을 인식하는 일에 가깝습니다. 새로운 프로그래밍 언어를 연습하기 위해 저는 간단한 테스트 프로그램

  16. 2021년, 명령줄 실력을 한 단계 끌어올려 줄 7가지 Bash 튜토리얼

    Bash는 대부분의 리눅스 시스템에서 기본으로 사용되는 명령줄 셸입니다. 그렇다면 이 강력한 도구를 최대한 활용하는 방법을 배워두지 않을 이유가 없겠죠? 올해 Opensource.com은 Bash 셸의 잠재력을 제대로 끌어낼 수 있는 유용한 글들을 다수 소개했습니다. 그중에서도 독자들에게 가장 많이 읽힌 Bash 관련 아티클 7가지를 정리해 보았습니다. 리눅스 터미널의 리다이렉션으로 어디서든 데이터 읽고 쓰기 입출력 리다이렉션(redirection)은 모든 프로그래밍 및 스크립팅 언어가 기본적으로 갖춘 기능입니다. 엄밀히 말하면 컴

  17. Bash로 파일 읽기와 쓰기 마스터하기

    Bash로 스크립트를 작성하다 보면 파일에서 데이터를 읽어오거나 파일에 데이터를 기록해야 하는 경우가 자주 생깁니다. 파일에는 설정 옵션이 담겨 있을 수도 있고, 사용자가 애플리케이션으로 생성한 데이터 자체일 수도 있습니다. 언어마다 이 작업을 처리하는 방식은 조금씩 다른데, 이 글에서는 Bash를 비롯한 POSIX 셸에서 데이터 파일을 다루는 방법을 소개합니다. Bash 설치하기 Linux를 사용 중이라면 이미 Bash가 설치되어 있을 가능성이 높습니다. 만약 없다면 배포판의 소프트웨어 저장소에서 손쉽게 설치할 수 있습니다. ma

  18. Bash에서 함수를 작성하는 방법: 코드 재사용으로 스크립트 효율 높이기

    프로그래밍이란 컴퓨터가 수행하길 원하는 절차, 즉 루틴(routine)을 정의하는 작업입니다. 간단한 비유로 빵 굽기에 프로그래밍을 대입해 볼 수 있습니다. 재료 목록을 한 번 나열해 작업 환경을 준비한 뒤, 빵 한 덩어리가 완성되기까지 거쳐야 할 단계를 차례로 적어 넣는 방식이죠. 프로그래밍과 베이킹 모두 특정 단계를 서로 다른 시점에 반복해야 하는 경우가 있습니다. 예를 들어 빵을 만들 때는 사워도(sourdough) 배양액에 먹이를 주는 과정이 여기에 해당합니다: STIR=100 SNOOZE=86400 function fee

  19. Bash에서 source 명령어로 함수와 변수 환경에 불러오기

    리눅스 셸에 로그인하면 특정한 작업 환경을 물려받게 됩니다. 셸에서 말하는 환경(environment)이란, 명령어가 의도한 대로 동작할 수 있도록 여러 변수들이 이미 설정되어 있는 상태를 의미합니다. 예를 들어 PATH 환경 변수는 셸이 명령어를 찾을 위치를 정의합니다. 이 변수가 없다면 Bash에서 시도하는 거의 모든 작업이 command not found 오류와 함께 실패하게 됩니다. 평소에는 잘 눈에 띄지 않지만, 환경은 시스템 운영에 필수적인 요소입니다. 셸 환경에 영향을 주는 방법은 다양합니다. ~/.bashrc나 ~/.

  20. Bash 히스토리 명령어 완벽 활용 가이드

    Bash는 유서 깊은 셸입니다. 그 자체로도 오래된 셸이지만, 그 조상인 Bourne 셸보다도 더 긴 역사를 지니고 있습니다. 동시에 Bash에는 다른 어떤 셸의 히스토리 인터페이스보다 뛰어난 기능을 갖춘 history 명령어가 포함되어 있습니다. Bash 버전의 history 명령어는 역방향 검색, 빠른 재호출, 히스토리 수정 등 다양한 기능을 제공합니다.history 명령어는 일반적인 명령어와는 조금 다릅니다. 보통 명령어들은 /usr/bin, /usr/local/bin, ~/bin 같은 시스템 공용 경로에 위치한 실행 파일입니

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