본문 바로가기

쉘프로그래밍

쉘프로그래밍 Shell 프로그래밍 생성 , 실행 - shell 파일에 실행 퍼미션 설정 : # chmod +x [파일이름] - ./ 또는 sh 명령으로 실행 : # ./ [파일이름] 또는 # sh [파일이름] - shell 작성시 첫 라인 주석으로 표기 : #!/bin/bash (bash 쉘에서 작성했다는 표기) Shell 변수 , 환경변수 - # a=1 (a라는 변수에 1 값 지정) , # echo $a (echo와 $으로 확인) , # set (특정 쉘에서의 정보 출력) - # export a (a의 변수를 모든 쉘에 적용) , # env (환경변수에 대한 정보 출력) - # unset a (a에 선언된 변수 제거) 아규먼트 변수 - 특별한 내장변수로 위치 매개변수로 사용한다. - 매개변수를 불러올때 스크립트의 .. 더보기
쉘프로그래밍 비교연산 - 표현식 : 산술비교 , 문자열비교 , 파일조건 [산술비교] - [ $A -eq $B ] : A와 B가 같으면 참 (Equal) - [ $A -ne $B ] : A와 B가 같지 않으면 참 (Not Equal) - [ $A -gt $B ] : A가 B보다 크면 참 (Greater Then) - [ $A -ge $B ] : A가 B보다 크거나 같으면 참 (Greater Equal) - [ $A -lt $B ] : A가 B보다 작으면 참 (Less Then) - [ $A-le $B ] : A가 B보다 작거나 같으면 참 (Less Equal) - [ ! $A ] : A가 참이면 거짓, 거짓이면 참 - [ $A -a $B ] : $A AND $B의 결과, 둘 다 참이면 참 - [ $A -o $B ] : $A O.. 더보기
쉘프로그래밍 기초 3 - 연습용 문제 8] 다음과 같이 사용자를 추가하고 삭제하는 스크립트를 작성하시오. 1. 사용자 추가 2. 사용자 삭제 번호를 선택하세요. : 1 사용자 이름을 선택하시오. ex) test1 : test1 사용자 홈 디렉토리를 입력하시오. ex) /home/test1 : /home/test1 사용자의 쉘을 입력하시오. ex) /bin/bash : /bin/bash 사용자의 암호를 입력하시오. ex) passwd : flsnrtm Changing password for user test1. passwd: all authentication tokens updated successfully. test1 사용자를 추가하였습니다. ----------------------------------------------------.. 더보기
쉘프로그래밍 기초 2 - 연습용 문제 5] 다음과 같이 출력되는 스크립트를 if와 case를 이용해서 작성하시오. ================== 서비스 제어 관리 ================== [1] Network Service [2] Xinetd Service [3] Ssh Service 제어할 서비스 번호를 입력하시오 : 1 [1] Network Service Start [2] Network Service Stop [3] Network Service Restart 원하는 서비스 번호를 입력하시오 : 1 loopback 인터페이스를 활성화 중: [ OK ] eth0 인터페이스 활성화 중: [ OK ] # vi service3.sh ------------------------------------------------------.. 더보기
쉘프로그래밍 기초 - 연습용 문제 1] 사용자들의 존재 여부를 확인하는 스크립트를 작성하시오. (사용자 폴더는 /home, /data) - if 사용 예) # su adduser.sh ENTER USER : scv scv 사용자는 /home 폴더에 있는 사용자입니다. 모범 답안 # vi adduser.sh --------------------------------------------------------- #!/bin/bash echo -n "ENTER USER : " read A if [ -d /home/$A ] || [ -d /home/*/$A ] then echo "$A 사용자는 /home 폴더에 있는 사용자입니다." elif [ -d /data/$A ] || [ -d /data/*/$A ] then echo "$A 사용자는.. 더보기