본문 바로가기

카테고리 없음

PowerShell? bash?

 

몰랐지만 알려고 하지 않았던 셸 차이 알아보기

 

 

Terminal: 사용자와 컴퓨터가 대화하는 . 우리가 명령어를 입력하는 화면.

Shell: 명령어를 해석 후 실행해주는 엔진 (운영체제에 따라 기본 Shell 다름)

Shell의 종류 > bash,  iTerm2 , Zsh, PowerShell, Fish 등 있음

 

 

기본적으로 리눅스에서는 기본 Shell로 bash 사용,

MacOS에서는 bash, 최근 업데이트 후에는 zsh 기본으로 사용,

Windows는 cmd 명령 프롬프트가 기본 셸이었지만 현재는 Powershell / Windows Terminal.

 

그러나 어떤 os든지간에, 별도의 설치과정 거치면 다른 운영체제의 Shell도 사용할 수 있다.

 


컴퓨터의 파일 관리, 프로세스 제어, 스크립트 자동화, 네트워크 설정 등

Shell(셸)을 이용해 할 수 있는 기능들은 같지만

어떤 셸이냐에 따라 데이터의 처리 방식이 다름 (ex. PowerShell : 객체 기반, bash : 문자열 기반)

 

또 어떤 셸이냐에 따라 명령어 문법이 조금씩 달라짐

 

공통 명령어

 

Shell이 변해도 달라지지 않는 공통된 명령어도 있지만

아래처럼 문법 차이가 있는 명령어도 있다

# --------------- 
# 변수 선언, 사용
# --------------- 

# Bash
name = "Saltbread"
echo $name

# Powershell
$name = "Saltbread"
echo $name


# --------------- 
# 조건문, 반복문
# --------------- 

# Bash
if [ "$name" = "Alice" ]; then
  echo "Hello"
fi

# Powershell
if ($name -eq "Alice") {
  Write-Output "Hello"
}