-
환경변수
- PATH
- PS1
- USER
- UID
- HOME
특수변수
- $0 => 실행파일이름
- $1~ $n => 첫번째 인수~ n번째 인수
- $? => 인수가 참인지 거짓인지 표시해주는 기능(0이면 참, 1이면 문제가 있다는 뜻)
- $# => 인수의 개수
- $* => 인수의 총목록(큰 따옴표로 감싸면 전체가 하나의 문자열)
- $@ => 한 문장의 파라미터를 공백으로 구분된 별도의 문자열로 취급한다(큰따옴표 사용시)
사용자 변수
변수명=값(대입)
변수명 = 값(비교)
** 쉘 스크립트에서 공백의 유무가 상당히 중요함!
${변수명} ==> 값
쉘에서의 선택과 반복
프로그래밍 언어처럼 쉘 스크립트에서 코딩을 할 수 있다.
if + 명령어
(이때 명령어는 test 형식으로도 사용할 수 있는데 사용 방법은 [ 명령 ] 공백에 유의해야 한다. 앞뒤 반드시 공백!)
if 명령어는 then 과 else 와 fi가 한쌍이다.
if [ 명령어 ]
then
참인 조건
else
거짓인 조건
fi(종료)
-> 해석
- user name을 물어보고
- read로 입력을 받는다
- grep ^$user_name으로 user명을 etc/passwd 파일에서 검색해서 오류메시지가 나와도 출력하지 않는다 (2>&1)
- 만약 문제가 없다면 (0) 이미 있다고 출력
- 만약 문제가 있다(1)면 유저명을 추가해서 계정을 생성해준다.
명령어 문자열
= -> 같음
!= -> 같지 않음
"O" = "O" -n "O" => 빈 문자열이 아님 (O는 변수이름을 넣으면 되는 부분이고, "" 를 붙여주는 것이 좋다.)
"O" = "O" -Z "O" => 빈 문자열임
명령어 변수
-eq => 같음
-ne => 같지 않음
변수 -lt 변수 => 앞변수가 뒤보다 작음
변수 -le 변수 => 앞이 뒤 이하임
-gt => 앞이 뒤보다 큼
-ge => 앞이 뒤 이상임
case 변수
while문을 사용하듯이
case 1, case 2로 나누어서 출력 값을 다르게 함
case <문자열> in
case1:
;;
case2:
;;
esac(종료)
예)
-> 해석
- choice로 입력받고 결과 출력 이때 케이스에 "" 씌우는 것은 선택사항
'리눅스' 카테고리의 다른 글
리눅스 보안 일반 (0) 2022.06.03 리눅스 셸 함수 (0) 2022.06.02 리눅스 sed, awk, 쉘 스크립트 (0) 2022.05.30 리눅스 방화벽 구성 (0) 2022.05.27 리눅스 PROC 파일시스템과 서비스 관리 (0) 2022.05.27