728x90 반응형 zsh11 Shell 함수 기본: bash, zsh에서 함수 사용하기 Shell 함수 기본: bash, zsh에서 함수 사용하기Shell Script(bash나 zsh)에서 함수를 정의하고 사용하는 것은,복잡한 작업을 반복하지 않게 해주는 아주 유용한 방법임. Function 은 재사용가능한 코드의 묶음이라는 점에서 Shell Script에서도 많이 애용됨. 하지만, Shell 프로그래밍은 다른 프로그래밍 언어(Python, Java 등)와는 Function의 문법이 조금 차이가 있음: 특히 호출 부분1. Shell 함수의 특징Shell 함수는 다른 프로그래밍 언어에서와 달리, command 처럼 호출됨!Python에서 del이 명령어이므로 del var 같이 호출됨을 기억! 즉, 다른 언어처럼 func_name(arg1, arg2) 형태로 호출되지 않음:2. Shel.. 2025. 7. 25. Shll Script Conditionals(조건문)-test, [], [[]],(()) 위의 그림은 가장 많이 애용되는 Extended Conditionals 를 정리(Bash 기준)한 것임. 이외에도 셸 스크립트에서 조건을 검사할 때는 test 또는 다양한 괄호 구문을 사용함 . 대표적으로 다음 네 가지 방법이 있음:test명령어 사용: test 조건식대괄호 한 쌍 사용: [ 조건식 ]이중 대괄호 사용: [[ 조건식 ]]괄호 두 개 사용: (( 산술식 ))Conditional Syntax Types구문 형태 (Syntax Type)설명 (Description)test 명령 (test EXPR)POSIX-compliant tes command대괄호 한 쌍 ([ EXPR ])test 명령과 동일한 기능을 갖는 대체 문법 (Bracket syntax equivalent to test)이중 대괄.. 2025. 7. 25. [zsh] 환경변수 사용하기: Referencing Environment Variable ${env_varaible} 다음과 같은 shell script 는 source test.zsh 를 zsh의 설정파일 .zshrc의 마지막에 추가해줌.echo "source test.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc 여기서 ${환경변수} 는 환경변수 의 이름의 environment variable의 값으로 대치되는 것임. ZDOTDIR 은 zsh에서 사용되는 환경변수 중 하나로서 zsh의 configuration files 이 있는 directory의 path를 가짐.ZDOTDIR 에 있는 configuration files는 다음과 같음..zshrc, .zshenv, .zprofile, .zlogin 임.설정되어 있지 않은 경우도 많음.HOME 은 일반적으로 현재 사용자의 h.. 2024. 1. 29. [zsh] 변수 여부 체크하고 없으면 다른 값 할당하기 : ${val0:-val1} zsh 등의 shell script에서 다음과 같은 형태로 변수할당이 되는 경우가 있음. rval=${ZDOTDIR:-$HOME} 이 경우, ZDOTDIR 란 변수가 비어있지 않은 경우에는 rval는 ZDOTDIR과 같은 값을 가지게 된다. rval=$ZDOTDIR 과 같은 결과. 변수가 비어있다는 뜻은 empty 문자열이거나 undefined인 경우를 가르킴. 하지만, ZDOTDIR 란 변수가 비어있는 경우엔 HOME이라는 변수의 값이 할당된다. 즉 다음과 같은 결과임. rval=$HOME 다른 유용한 할당방법으로는 :=이 있음. 이는 기존에 할당이 되어있는지를 체크하여 기존에 값을 가진 경우는 그대로 유지하고, 비어있는 경우에만 할당을 수행한다. echo "${VAR1:=default}" VAR가 이.. 2023. 10. 25. [Shell] command substitution command substitution (명령어치환)우리나라말로 명령어 치환 이라고 불리며,특정 명령어의 수행결과를 문자열로 입력받는 형태로 셀프로그래밍 등에서 사용됨.command substitution 사용법아래 예제는 result.txt 를 현재 날짜 정보를 붙인 이름으로 변경해준다.mv result.txt result-$(date +%Y-%m-%d).txtcommand substitution은 위에서 $(date +%Y-%m-%d) 임.date 명령어에 해당 옵션을 줄 경우 2023-10-01 과 같은 형태의 문자열이 결과로 반환됨.이를 감싸고 있는 $(명령어) 부분(command)이 해당 문자열로 바뀌어짐(substitution).command substition은 다음과 같이 여러 단계로 겹쳐서.. 2023. 10. 1. [zsh] install zsh and oh-my-zsh: oh-my-zsh이나 oh-my-posh는 shell 터미널 환경을 쉽게 customizing 할 수 있도록 여러 테마와 플러그인으로 구성된 오픈소스 프레임워크임. shell framework 또는 prompt theme engine이라고 불림.oh-my-posh 는 zsh 외의 여러 shell에서 사용가능한 cross platform prompt engine이나, power shell에서의 속도가 꽤 느린 편이다. zsh 이 사용가능하다면 oh-my-zsh 을 적극 추천함. windows라면 wsl을 제외하곤 oh-my-posh를 선택할 수 밖에 없음. 참고: 2023.06.20 - [개발환경] - [Env] Oh-My-Posh [Env] Oh-My-PoshOh-My-Posh는 Command Line .. 2023. 9. 11. 이전 1 2 다음 728x90 반응형