리눅스 Bash Shell 스크립트 정리 - 1

박경현·2023년 6월 15일
0

이것도 42 서울에서 깃과 리눅스, C를 공부해야한다고 해서 이번에 정리를 하면서 공부를 해보려고 한다..

찾아보니까 생각이상으로 이해하고 잘 응용할 줄 알아야만 합격이네..

그렇다고 너무 미래를 걱정하지 말고
자기계발론에 나온 '일단 오늘을 살아라' 라는 말처럼 지금 내 앞에 충실하자!!

리눅스 쉘이란?

shell => 사용자 명령어 해석기라고 생각하자!!

사용자가 프롬프트에 입력한 명령어를 해석해서 운영체제(여기선 커널)에 전달!

shell의 종류!

  • Bourne shell (이게 원조!)
  • C shell (C언어 문법을 쉘에서 사용가능)
  • Korn shell
  • Bash Shell(이게 대표적!! 이걸 사용한다고 생각하자!!)

내 컴퓨터에서 사용가능한 shell이 무엇인지 알고 싶다면

cat /etc/shells

현재 사용하는 shell

$ echo $SHELL

shell의 변수 (일반변수와 환경변수)

변수는 기본적으로 데이터를 넣는 그릇인데, 여기서 어플리케이션에 영향을 주는 변수인지 아닌지로
일반변수와 환경변수로 나눠진다!

일반 변수

score=90
echo $score 이렇게 하면 90이 나온다!
set-> 현재 들어있는 모든 변수(환경변수 포함) 다 나옴!
unset score -> 이 변수가 삭제된다!
set | grep name -> name이라는 이름의 변수를 찾는다!

환경 변수

export로 선언시 어플리케이션에 영향을 줄 수 있음!
동작되는 프로그램에게 영향을 주는 변수

export NAME=lee
echo $NAME =>
env -> 시스템에 들어있는 환경변수 확인!

대표적인 환경변수들

PATH (명령어가 어느 디렉토리에 있는지 찾아서 보여줌!)
SHELL(로그인 쉘 ) HOME(홈 경로), USER(로그인 사용자 이름)

Bash Shell의 Rule 3가지!

Quoting Rule

Meta Cahracters -> shell에서 특별한 의미를 정해놓은 문자들 ex)? & * % 등등

touch myFile{1..3} -> 1,2,3파일을 만듬!

이때 저런 메타문자의 의미를 없애고 그냥 단순 문자로 변경하고 싶을때 Quoting Rule을 사용한다!

Backslash() -> 바로 뒤 메타 문자 특별 의미를 제거
touch *** -> ***이름의 파일로 만들어짐!!

Double Quotes() -> $, ‘’은 제외하고 메타 문자 의미 제거!
touch “This is a file” -> 띄어쓰기 포함해서 파일 이름이 만들어짐!
Single Quotes() ->
echo ‘Today is date’ -> 그대로 나옴!

nesting commands -> command 치환

echo “Today is $(date)”-> 이러면 $()안에 내용이 명령어로 있으면 실행!
echo “today is date” ->이것도 가능!

date +%Y%m%d -> 20210511
touch report-$(date +%Y%m%d)_v1 하면 날짜 들어간 파일이 만들어짐!

Alias - shell 명령에 별명을 만들어줌!

alias name=‘command’
alias or alias name -> 별명들 보기 혹은 구체적 별명보기
unalias name -> 삭제

alias c=clear 하면 c눌렀을때 터미널이 clear됨!
alias rm=rm -i 가 실행되게 해버리면 파일 삭제때 물어봐줌!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글