카테고리 없음2013. 6. 18. 09:28

 

31장. 쉘 프로그래밍과 환경설정파일

 

학습목표

- 쉘 스크립트에 대한 기본 지식을 익힌다.
- 익힌 지식으로 리눅스의 로그인시 구동되는 환경설정파일을 이해한다.

 

 

● 쉘 프로그래밍 (쉘 스크립트)
- C/C++, Java
   → 주 용도 : 새로운 프로그램을 작성
- 쉘 프로그래밍
   → 주 용도 : 리눅스 작업을 편리하고 효율적으로 하기 위한 용도
   → 쉘 프로그래밍으로 작성된 파일을 쉘 스크립트 또는 쉘 프로그램이라 부른다.
   → DOS의 .bat 파일과 개념이 비슷하지만, 훨씬 강력한 프로그래밍 기능이 존재

 


● 처음 만드는 쉘 프로그램


- 작성방법
   → # vi hello.sh -> 소스코드 입력 후 저장
- 실행 1
   → # chmod 755 hello.sh
   → # ./hello.sh
- 실행 2
   → # sh hello.sh 또는 # bash hello.sh

 

 

[실습]

 


vi hello.sh

 



위와 같이 입력한다.

 



hello.sh 파일을 만들고 실행해보자.

 

./hello.sh

 

허가가 거부되었다.

이유는 실행권한이 없기 때문이다.

 



chmod 755 hello.sh

./hello.sh

 

hello.sh의 권한을 755로 바꿔준다.

이제 다시 실행해보면 된다.

 


 

chmod 644 hello.sh

 

hello.sh 파일의 권한을 원래대로 돌려놓아보자.

 

당연히 ./hello.sh 실행하면 거부된다.

 

sh hello.sh

bash hello.sh

 

이 두 명령은 소스코드로 실행하는 것이다.

권한이 없어서 실행할 수 있다.

 

 

 

● 변수
- 쉘에서 변수를 사용하기 전에 미리 선언하지 않는다
  대신에, 변수에 초기값 부여시 생성.
- 모든 변수는 숫자값을 가지는 경우에도 스트링으로 간주
- 대소문자를 구분
- 값을 대입시에는 "변수명=값"의 형식
- 변수를 사용할 때는 "$변수명"형식 또는 "${변수명}"형식
   → # testVal=Hello
   → # echo $testVal
   → # testVal="Yes Dear"
   → # echo $testVal
   → # echoVal=7+5
   → # echo $testVal

 

 

● 환경 변수

 

● 파라미터 변수

 

 

● if 구문
    if condition
    then
       statements
    else
       statements
    fi




 



 


 

vi test.sh

test.sh 파일을 만들고 위와같이 편집을 하고 저장후 나온다.

 



각각 실행해보면 제대로 결과가 나오는 것을 볼 수 있다.

 



 

단, 위와 같이

elif["$answer"="no"]

이 부분처럼 띄어쓰기를 안하게되면

 



 

위와같은 에러가 나버리니 꼭 주의하자.

 

elif^[^"$answer"^=^"no"^]

이렇게 띄어쓰기를 제대로 해 주어야 한다.

 

Posted by 아이맥스