2022-03-29 Shell_script_1

2022. 3. 29. 20:18BE/Linux

shell script

Shell script를 사용하면 명령어를 묶어서 실행할 수 있다.

 

유닉스에선 셀 스크립트, 도스와 원도우 cmd.exe에선 배치파일(batch, .bat확장자)라고 지칭.

 

여러 명령어를 한번에 묶어서 실행할 수 있고 심지어 변수, 조건문, 반복문도 사용할 수 있다.

 

결국 프로그래밍 언어와 비슷해졌다;;

 

shell도 여러 종류가 있다.

 

리눅스에 기본 장착된 shell은 bash다.

 

shell을 확장해 만들었다. 한번 살펴보자.

 


 

예제

 

아직 수업에서 진도가 나가지 않은 관계로 맛보기로 보여준 예제만 정리하겠다.

 

vi read.sh

////////////////VI EDITOR///////////////////
#!/bin/bash

read -p "Input your name: " varname 
echo "I have your name given by " $varname

////////////////////////////////////////////

chmod a+x read.sh

./read.sh
Input your name: tired_i
I have your name given by tired_i

#!은 스크립트를 실행할 shell을 설정한다는 의미다.

 

"정확하게는 이 밑에 작성된 코드들이 /bin/bash라는 프로그램을 통해서 해석되어야 한다"는 의미다.

 

read로 입력값을 받아서 varname에 넣어준다.

 

여기서 $는 value를 보여준다.

 

그래서 ./read.sh 을 실행하고 입력하면 varname의 value를 출력해준다.

 

실행하기 전에 실행 권한을 획득하는 것은 잊지 말아 주세요.

 

vi Hello.sh

/////////////////VI EDITOR//////////////////////

#!/bin/bash

while True; do
    echo "Hello World"
    sleep 1 
done

/////////////////VI EDITOR//////////////////////

chmod a+x Hello.sh

./Hello.sh

2022-04-05 예제 추가

 

expr 1 + 3

expr은 리눅스 터미널에서 기본적으로 제공하는 계산기 기능이다.

 

expr는 다른 명령어처럼 요소들은 띄어쓰기로 구분되어야 한다.

 

expr 1 + 2expr 1+2는 다르다.

 

expr의 자세한 사용법은 아래를 참고해라.

 

참고: https://storycompiler.tistory.com/111 [아프니까 개발자다]

vim exprTest.sh

---------------------vim--------------------
#!/bin/bash

MSG=`expr 1 + 2`

echo $MSG
--------------------------------------------

chmod a+x exprTest.sh

./exprTest.sh

` 를 혼동하지 마라 둘은 다른 것이다.

 

sh에서 ` 은 감싸고 있는 명령어를 실행하고 그 실행값을 반환한다.

'BE > Linux' 카테고리의 다른 글

2022-04-01 터미널에서 열기 및 실행하기  (0) 2022.04.01
2022-03-29 vi_editor  (0) 2022.03.29
2022-03-22 Linux_3  (0) 2022.03.23
2022-03-22 Linux_2  (0) 2022.03.22
2022-03-15 Linux_1  (0) 2022.03.15