HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🛁
공부기록
/
🧑🏻‍💻
TIL
/
Shell 연습

Shell 연습

태그
DevOps
날짜
Jul 11, 2022
속성
ViShell 이란?Shell 의 기능Shell의 예시shell 환경별수Shell 문법Shell의 조건문Shell 반복문Shell 함수 정의
 

Vi

notion image
  1. 명령 모드(command mode)
      • 처음 vi 명령어로 vi를 시작하게 되면 들어가게 된다.
      • 여기서는 방향키를 이용해서 커서를 이동할 수 있으며 “dd”나 “yy”로 한줄 삭제 및 한 줄 붙여넣기 또는 “x” 명렁어로 글자 하나를 삭제할 수 있습니다.
  1. 입력 모드(insert mode)
      • 명령모드에서 “i”나 “a” 명령을 통해서 입력 모드로 넘어갈 수 있습니다. 입력모드로 가게되면 자유롭게 코드나 글을 작성할 수 있습니다.
      • 명렁모드로 다시 돌아오려면 “ESC”를 누르면 됩니다.
      • i 명령은 커서가 현재 위치한 부분에서부터, a 는 커서 바로 다음 부분부터
  1. 마지막 행 모드(Last line mode)
    1. 마지막행 모드는 명렁모드에서 “:”(콜론) 을 입력하면 화면 맨 밑단에 :_______ 하며 입력을 할 수 있는 공간이 나오게 된다.
    2. 여기서 현재까지 내가 작성한 내용을 저장하고 종료(wq)할지 그냥 종료(q, q!)할지 등을 입력할 수 있습니다.
 
 

Shell 이란?

  • 리눅스의 쉘은 명령어와 프로그램을 실행할 때 사용하는 인터페이스입니다.
notion image

Shell 의 기능

  • 사용자와 커널 사이에서 명령을 해석해 전달하는 명령어 해석기 기능이 있습니다.
  • 쉘은 자체 내의 프로그래밍 기능이 있어서 프로그램을 작성할 수 있습니다.
  • 사용자 환경 설정의 가능 - 초기화 파일 기능을 이용해 사용자의 환경을 설정할 수 있습니다.
 

Shell의 예시

#! /bin/sh name="Joo-PE" echo $name echo Frist : $1, Second $2
 

shell 환경별수

  • 환경변수는 특정한 의미로 설정된 값을 의미한다.
  • HOME이라는 사용자 계정의 홈 디렉터리가 있을 때 이를 사용하려면 $HOME을 입력하면 됩니다.
  • 유용하게 사용될 변수 및 설정해야 하는 값을 설정해 두는 것
notion image
 

Shell 문법

  • #으로 시작하는 단어와 행은 주석으로 처리된다.
  • $0 은 스크립트 파일의 이름으로 확장된다.
    • source 명령으로 실행하는 경우 쉘의 이름(bash)로 확장하면 된다.
  • $1 는 첫번째 인수, $2는 두번째 인수로 확장된다.
  • 스크립트가 복잡하다면 적절한 echo 명령을 넣는 것이 좋다.
  • 변수=값을 사용하여 변수에 값을 저장하고 $변수를 사용하여 값을 추출할 수 있다.
    • 등호의 좌우에 공백이 있으면 안됨!
  • bash -x script_file과 같이 실행하면 수행되는 명령을 확인할 수 있다.(디버깅모드)
 

Shell의 조건문

if [값1 조건식 값2]; then 수행문 fi # 에제 #!/bin/bash var="hello" if [ $val == "hello" ];then echo "hello" fi # 다중조건 예제 #!bin/bash var = "hello" if [ $val == "hello" ];then echo "hello" elif [ $val == "hi" ]; then echo "hi" else echo "else" fi

Shell 반복문

for (( EXP1; EXP2; EXP3 )) do command1 command2 command3 done # 기존의 프로그래밍 문법에서와 비슷하게 사용이 가능하다 #!/bin/bash for (( c=1; c<=5; c++ )) do echo "value : $c" done # for in도 사용이 가능합니다. #!/bin/bash for var in {1..5} do echo ${val} done

Shell 함수 정의

#!/bin/bash test_func() { echo "function test!" } test_func # 파라미터가 있을 경우 #!/bin/bash test_func() { echo "function test!" echo $1 }
  • $0 실행될 스크립트 이름
  • $N : 파라미터 변수
  • $# : 매개변수의 총 개수