Linux/Shell Programming

01.[Linux] 쉘(shell)과 변수

xgoo 2023. 1. 17. 23:13
반응형

변수

Linux에서 변수는 특정한 값(value)를 넣는 그릇이라고 생각하면 쉽습니다.

 

변수 선언

변수는 아래와 같이 선언할 수 있습니다.

[변수명]=[값]

예를 들어 name이라는 변수명에 apple이라는 값을 넣어 본다면

아래와 같이 만들 수 있습니다.

$ name=apple

= 사이에 공백이 들어가면 제대로된 변수 선언이 되지 않을 수 있으므로 꼭! 공백(띄어쓰기) 없이 사용해 주세요

만약 변수가 미리 있다면 = 기준 우측에 있는 값이 덮어씌워 지게 됩니다. 원래 변수에 있던 값은 사라지게 됩니다.

 

변수 이름을 이용한 변수 확인 명령어

$ echo $[변수명]

$ echo $name 

name변수를 실행하면 apple이라는 값이 출력됩니다.

변수명으로 변수 확인을 할 때에는 꼭 변수명 앞에 $기호를 입력해줘야 합니다.

 

선언된 변수 확인 명령어

$ set

선언된 변수들을 확인하는 명령어로 여러 변수가 출력 될 수 있습니다.

그래서 내가 원하는 변수 출력을 위해 아래 명령을 입력 해줍니다.

$ set | grep [변수명]

 

변수 제거 명령어

$ unset [변수명]

이때는 순수 변수명만 입력해야 합니다.

 

-이때까지는 변수에 대한 내용이였고 지금부터 할 내용은 환경변수에 관한 얘기입니다.

 

환경변수

환경변수는 동작되는 프로그램에 직접적으로 영향을 주는 변수입니다.

 

환경변수 선언 명령어

환경변수와 일반 변수를 구분짓기 위해 환경변수는 대문자로 입력해 줍니다.

$ export [변수명]=[값]

 

환경변수 확인 명령어

$ echo $[변수명]

 

선언된 환경변수 확인 명령어

$ env

이 또한 선언된 환경변수들이 여러개 출력 될 수 있습니다.

특정 환경변수를 찾고 싶으면 아래 명령어를 입력할 수 있습니다.

$ env | grep [변수명]

 

환경변수의 종류

$PATH 명령어를 탐색 경로
$HOME 홈 디렉토리 경로
$USER 로그인 사용자 이름
$SHELL 로그인 Shell 이름

위에서 환경변수는 프로그램에 영향을 주는 변수라고 했습니다.

왜 영향을 주는 지 예시를 들어 봅시다.


$PATH

data라는 명령어는 /bin/data의 줄임말입니다. data라는 명령어를 실행하기 위해 $PATH라는 환경변수의 값인 각 경로에서 data를 찾아 실행 하는 것입니다. 아래 경로는 $PATH 환경변수 값입니다.

만약 이 값을 지우거나 변경하게 된다면 어떻게 될까요?

$ PATH=

위 명령어를 실행 하고 다시 data 명령어를 실행 했을 경우

파일 또는 디렉토리를 찾을 수 없다는 오류가 뜨면서 실행이 되지 않습니다.

이 처럼 환경변수는 매우 중요한 변수입니다.

 

$HOME

홈 디렉토리입니다. 

$ cd

위 명령어는 홈 디렉토리로 이동하는 명령어 입니다. 만약 이 $HOME 환경변수도 값을 변경하는 경우

홈디렉토리가 아닌 다른 경로로 이동하거나 그 외의 문제가 발생하게 됩니다.


$USER
현재 로그인한 사용자 이름이 담겨 있습니다.

 

$SHELL

현재 사용하는 shell의 경로 값이 입력되어있습니다.

 

리눅스의 모든 것을 배울 때까지 공부해봅시다.
반응형