Interactive vs Non-Interactive Shell

앙금빵·2021년 8월 21일
0

리눅스

목록 보기
11/13
post-thumbnail

Shell 이 실행되는 환경을 Interactive 와 Non-Interactive로 두가지로 나누어 볼 수 있다.

Interactive Shell

  • 실시간으로 직접 CLI 에 명령을 입력하는 형태

Non-Interactive Shell

  • Shell을 실행해서 Script 파일의 명령들을 수행하는 형태
  • 해당 경우 직접 명령을 입력하는 것이 아닌 Script파일에 나열된 일련의 명령들을 순차적으로 실행하는 형태

기본적으로 interactive shell 에서 사용하기 위한 기본적인 기능들은
(history 확장, Alias, job control 등)으로 script 을 실행할 때는 disable 된다.

어떨때 Interactive / Non Interactive Shell을 사용할까?

Interactive

  1. 일회적인 명령
  2. 실행하는 명령의 결과를 사용자가 판단하여 다음 명령을 실행해야 하는 경우

Non-Interactive

  1. 반복적인 명령
  2. 명령의 결과를 사용자가 직접 판단할 필요 없이 정해진 규칙에 따라 다음 명령을 실행할 수 있는 경우

Shell Script에는 C 언어와 같은 프로그램 언어와 마찬가지로 조건문, 반복문, 함수등과 같은 프로그래밍 구문들을 포함할 뿐만 아니라 여러 다양한 Scripting 구문들을 포함하고 있어 타 프로그램과 연동하여 시스템 상에서 우리가 원하는 거의 모든 작업을 수행할 수 있다.

주의할 점

  • 쉘 스크립트 특성상 시스템 파일 접근이 상당히 빈번한데 이를 적절한 테스트 없이 실행하는 경우 자칫 시스템 파일 혹은 중요한 파일들을 모두 날려버릴 수 있다.
  • 테스트에 테스트를 반복하여 정말로 신뢰할 수 있을 때에만 실행해야 한다.

참조

Interactive vs Non-Interactive Shell

https://mug896.github.io/bash-shell/interactive_non-interactive.html

쉘 스크립트 -제 1장 쉘 소개

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=big5347&logNo=220100371362

profile
Cloud 관련 개인 공부 지식들을 기록하는 공간입니다.

0개의 댓글