● 변수란
변수 : 변하는 수(값)
변수지정 : 변수를 지정할 '공간 설정'
1.형태 : 이름=값
2. 값의 내용을 그대로 출력할 때는 'echo $' 사용한다
3.값은 기본적으로 문자열 으로 인식한다
4.'이름'과 '=' 과 '값' 사이는 공백을 두지않는다.
5. $ 는 변수 내의 명령어나 스크립트 결과를 출력할때 사용되는 특수문자이다.
6. ' '(홑따옴표)는 명령어나 스크립트 처리 결과를 변수에 저장
7. 변수의 연산은 'expr' 라는 스크립터 프로그램을 이용한다
< 실습 >
변수 종류(적용되는 범위에 따라)
------------------------------------------------------
지역변수 : 계정별 따로 적용 (서브쉘 x)
지정 : itbank=“heath”
확인 : echo $itbank
해제 : unset itbank
전역변수 : 전체계정에 적용( 서브쉘 o) ex)PATH, HOME
지정 : export ITBANK=“heath”
확인 : echo $ITBANK
해제 : unset ITBANK
cf)
set :모든변수 확인 명령어(지역변수 + 전역변수 + 환경변수)
env :환경변수 확인 명령어
linux 라는 변수를 설정해주고 echo 하면 값을 볼 수 있다.
set |grep을 사용해서 linux 변수를 확인 해본다.
echo로 확인해보는데 b는 연산이지만 문자열로 인식한다.
그래서 연산하기 위해 '' (홑따옴표) 안에 expr을 사용해서 작성해주고 $변수명으로 확인하면 된다.
만약 echo $변수명 하면 문자열로 그대로 나오게 된다.
root 라는 계정에서만 지역변수를 사용했으므로 user3 으로는 변수를 확인 할 수 없다.
하지만 exit 로 다시 root로 나온 뒤 echo로 변수를 확인하면 root에서는 변수가 나오는 것을 확인 할 수 있다.
그래서 root에서 작성한 변수를 전역변수로 바꿔 다른 계정에서도 변수명을 사용할 수 있도록 export를 사용해서 작성해본다.
그러면 root에서 작성한 VAR2 변수가 user3에서도 나타나는 것을 확인 할 수 있다.
● 환경변수 종류 :사전에 의미가 정해진 전역변수
(프로필 파일에 정의되어있다)
------------------------------------------------------
HISTFILE : 히스토리(History) 파일의 절대 경로
HISTSIZE : 히스토리 파일에 저장되는 명령어의 개수(줄기준)
HISTFILESIZE : 히스토리 파일의 파일 크기
HOME : 사용자 홈 디렉토리의 절대 경로
HOSTNAME : 시스템의 호스트명
LANG : 쉘 사용 시 기본으로 지원되는 언어
LOGNAME : 사용자 계정 이름
MAIL : 도착한 메일이 저장되는 경로
PATH : 명령을 탐색할 경로
PS1 : 1차 프롬프트 변수
PS2 : 2차 프롬프트 변수(명령어 대상 경로를 계속 추가해서 적용시 사용 )
CDPATH : cd 명령 사용시 인자로 주어진 디렉토리를 찾을 경로
PWD : 작업 디렉토리 절대 경로
SHELL : 로그인 쉘
TERM : 로그인한 터미널 종류
UID : 사용자의 UID
USER : 사용자의 이름
● 주요 프롬프트 형식
\d : '요일 월 일' 형태로 날짜를 표시(ex "Wed jan 15")
\h : 호스트 이름
\s : 사용 중인 쉘의 이름
\t : 24시 형태의 현재 시간(ex , HH:MM:SS)
\T : 12시 형태의 현재 시간(ex , HH:MM:SS)
\@ : 12시 형태의 현재 시간에 AM/PM을 추가로 표시
\u : 현재 사용자의 이름
\w : 현재 작업 디렉토리(홈 디렉토리의 위치를 ~로 표시)
\W : 현재 작업 디렉토리 중 마지막 디렉토리만 표시
\! : 현재 명령의 히스토리 번호
\\ : \를 표시
echo 사용해서 $PS1 으로 프롬프트 형식을 살펴볼 수있다.
이 프롬프트 형식을 내가 원하는데로 변경할 수 있다.
이번에는 보조 프롬프트를 변경해준다.
이번에는 경로를 변경해본다.
exit로 user3에서 root로 변경시켜주고 echo로 $PATH를 확인한다.
newbin을 사용하기 위해 cd로 이동해주고 PATH에 $PATH:/newbin을 등록시켜준다.
그리고 echo 하면 경로 뒤에 :/newbin이 나오는 것을 확인 할 수 있다.
'IT수업 > 리눅스' 카테고리의 다른 글
IT 수업 25주차 (206) AWS 시작 (0) | 2024.06.14 |
---|---|
IT 수업 25주차 (205) 디스크 연결 (0) | 2024.06.13 |
IT 수업 25주차 (203) 쉘, 프로필 (1) | 2024.06.12 |
IT 수업 25주차 (202) 계정 (0) | 2024.06.12 |
IT 수업 25주차 (201) 권한 (1) | 2024.06.11 |