• 티스토리 홈
  • 프로필사진
    홀쑥
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
홀쑥
  • 프로필사진
    홀쑥
    • 분류 전체보기 (57)
      • Language & Framework (14)
        • Java (1)
        • Python (13)
      • DataBase (4)
        • NoSQL (1)
        • RDBMS (3)
      • Big Data & Ecosystem (9)
        • Hadoop (5)
        • Hive (2)
        • Sqoop (1)
        • Zeppelin (1)
      • Data Engineering (1)
        • Airflow (1)
      • Cloud & DevOps (1)
        • AWS (0)
        • GCP (1)
      • Monitoring & Logging (2)
        • ElasticSearch (2)
      • Infrastructure (12)
        • OS (12)
        • Docker (0)
        • Kubernetes (0)
      • Algorithm & CS (7)
        • 백준 알고리즘 (6)
      • Troubleshooting (5)
        • 오류 모음 (5)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [리눅스] 쉘 프로그래밍
        2020년 06월 18일
        • 홀쑥
        • 작성자
        • 2020.06.18.:13
        쉘프로그래밍
        shell : 시스템 과 사용자 간의 인터페이스
        shell script : 쉘에서 실행하도록 작성된 프로그램( 확장자 sh)
        *컴파일 없이 바로 터미널에서 실행
        - 속도 빠름
        - 컴파일이 없다 => 오타/실수 잡지 못함

         

        맨 위에 #!/bin/sh는 주석이 아님

        echo는 출력 $USER, $HOSTNAME 는 시스템변수

        끝 나타내기
        sh 로 실행

        sh로 실행은 가능

        바로 실행하려니 허가 거부 => 실행권한이 없음

        권한 수정

        정상적으로 실행됨

        sh파일 만들기

          [실행방식] 

              - sh파일명

              - ./파일명 (execute 권한이 있어야한다) 기본적으로 만들 땐 실행권한이 없음

         

           - 선언 앞 뒤로 공백있으면 안됨!

        결과

           - ' ' 와 " " 다름

           - ' ' 는 단순 문자로 취급

           - " " 에는 변수 사용가능

         

        입력 받기 

         

        숫자계산

           - 쉘 스크립트에서 변수값은 모두 문자열

           - 문자열을 숫자로 변환 : `expr 변수`   ( `는 탭 위에 바 표시)

        주의 ! 연산자 양 옆은 공백!

           - 특수기호 앞엔 \표시

           - 특수기호 양 옆은 공백

           - *는 특수기호 /는 특수기호 아님

         

        두 수를 입력받고 두 수의 곱과 두수의 평균을 출력

        결과

        3. 매개변수

           - 자바의 main()  함수의 arg같은 느낌

           - 첫번째 값은 파일의 이름

        var.sh 생성 후 작성

        결과

        4. 조건문 

           - if [ 조건 ]          #대괄호, if, 조건 사이에 공백 필수

           - then 

                    참인경우

           - elif [ 조건 ]

           - then

                    다른 경우

           - else

                    거짓인 경우

           - fi #if문 종료

        결과

        매개변수 두개가 같으면 동일

        다르면 다름

        결과

        이런식으로 ; then을 써 한 줄에 쓸 수 있음

        5. case 문

           - case 변수 in

               - 경우1) 명령문;;

               - 경우2) 명령문;;

               - *) 그외 명령문;;

           - esac

        결과 

        조건 연산자
         -eq (equal) / - neq (not equal) / -gt(greater than) / -ge(greater equal) / -lt(letter than) / -le(letter equal) / ! (not)

        점수를 입력받아 A~F학점 출력 (case문 이용)

        결과

        파일 관련 옵션

         -f : 파일이면 true

         -d : 디렉토리이면 true

         -e : 존재하면 true

         -r : 읽기 가능하면 true

         -w : 쓰기 가능하면 true

         -x : 실행 가능하면 true

         -s : 파일의 크기가 0이 아니면 true

        결과

        논리 연산자

           - if [A] && [B]         if [A -a B]  AND연산자

           - if [A] || [B]            if [A -o B]  OR연산자

           ex) if [A && B] => 에러

        결과

        for

              - for 변수 in 값1 값2 값3 ...

              - do

                        반복할 문장

              - done

             결과

              - for 변수 in `seq 초기값 마지막값`  #python의 range와 비슷

              - do

                        반복할 문장

              - done

         

              - for ((초기값 ; 조건문 ; 증가치))   # 괄호 두개 java와 비슷

              - do

                        반복할 문장

              - done

        결과

         

        while

          - while [ 조건 ]

             - do 

                   반복할 문장들

             - done

        break / continue / return

         

        날짜

        $(date)

        결과 

        따로 자르고 싶을 때

        set $(date)

        $숫자 로 사용

        결과

         

        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바