2022. 3. 29. 20:18ㆍBE/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 + 2
와 expr 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 |