리눅스 - 쉘(Shell)과 쉘스크립트(Shell Script)

lUA·2021년 5월 9일
0

Linux

목록 보기
2/2

시작하며

이번주 공부한 리눅스 내용은 쉘과 쉘스크립트다 :)

Bash


Bash는 쉘의 종류로, Bourne Again Shell의 축약어다. 리눅스에서 가장 널리 사용되는 쉘이다.
/bin 데릭터리 안에 존재한다.

설정파일

bash는 다섯 개의 공통된 설정 파일들을 가지고 있다. 모든 리눅스 배포본에서 이들을 찾아볼 수 있지는 않지만, 이 파일들을 만드는 것은 어렵지 않다. bash는 5개의 설정 파일을 갖는다.

일반적으로 전역적인 파일은 /etc 디렉토리에 위치한다. 지역적인 파일은 사용자 개개인을 위한 설정 내용을 담고 있어서 그 파일을 사용하는 특정 사용자에게만 영향을 끼치는 파일들을 뜻한다. 이들은 대개 사용자의 홈 디렉토리에서 찾아 볼 수 있는 숨김 파일이다. 숨김 파일은 ~/.bashrc와 같이 '.' 으로 시작한다.

  • 전역적인 설정인 /etc/profile과 /etc/bashrc
  • 개별 사용자마다 다른 설정을 담는, 지역적 설정인 ~/.bashrc, ~/.bash_profile, ~/.bash_logout

처음에 한 번 수행되는 게 전역파일들, 그 다음엔 매번 지역적인 파일들이 참조된다.
bashrc는 bash에서 작업할 때마다 수행되는 파일로서, 우리가 그냥 python이라고 입력만 해도 python3.x버전으로 연결되어 작업할 수 있게 해준다. 즉 환경변수 개념이라고 생각하면 편하다.
만약 모든 사용자에게 적용되게 하려면 /etc/profile에 설정해주면 된다. 개별 사용자에게 적용되게 하려면 .bash에 설정한다.

Shell Script


Basic

인터프리트(interpret) 방식으로 동작하는 컴파일되지 않은 프로그램이다.
텍스트 형식으로 저장되는 프로그램으로서 한줄씩 순차적으로 읽어 커맨드처럼 실행되도록 작성된 프로그램으로, 하나의 업무에 필요한 명령어가 여러 개일 때, 주기적으로 해야 할 때, 재사용성을 늘리기 위해 사용하는 각본이라고 생각하면 된다.
이 각본을 컴퓨터가 작동하게 하여 자동화된 업무를 할 수 있도록 한다.
자바스크립트, 쉘스크립트, 펄스크립트 등 스크립트 단어 앞에 붙는 수식어들은 스크립트를 읽어 실행해주는 인터프리트 엔진을 의미한다.
쉘스크립트는 운영체제의 쉘 즉 bash, ksh, csh 등이 읽어 실행해주는 스크립트 언어이고,
펄 스크립트는 perl 이라고하는 인터프리트 엔진이 읽어 실행해주는 스크립트 언어이다.

다운로드 : 유닉스는 내장되어 있음

설정

1. 파일생성

$ touch shell_script_practice.sh # 파일 생성
$ vim shell_script_practice.sh # 쉘 스크립트 파일 편집기로 열기

2. 실행 권한 부여 (파일의 상태 변경)

$ chmod +x shell_script_practice.sh # 실행 권한 부여

3. 상단에 추가

#!/bin/bash

..하단에 스크립트 작성..

스크립트 헤드에 있는 !#의 의미 (she-bang)

스크립트 헤드의 she-bang은 이 파일이 표시된 명령 인터프리터에 제공되는 명령 집합임을 시스템에 알려줌

  1. #!/bin/sh : / bin / sh 경로와 함께 Bourne 쉘 또는 호환 가능한 쉘을 사용하여 스크립트를 실행한다.
  2. **#!/bin/bash : Bash 셸을 사용하여 스크립트를 실행한다.**
  3. #!/bin/csh -f : C쉘 또는 호환 가능한 쉘을 사용하여 스크립트를 실행한다.
  4. #!/usr/bin/perl -T : taint 검사 옵션과 함께 perl을 사용하여 스크립트를 실행한다.
  5. #!/usr/bin/env python : 환경 변수에서 자동으로 파이썬 인터프리터의 경로를 조회하여 파이썬을 사용하여 스크립트를 실행한다.

4. 실행

./파일명.sh
profile
기록을 생활화하려는 개발자

0개의 댓글