쉘 스크립트 작성

Developer/Linux 2019. 6. 16. 16:26 Posted by JAKE_SLEEPY

사용자 변수



쉘 스크립트 안에서 쓸 수 있는 변수를 선언할 수 있다.
변수를 선언함으로써 데이터를 저장하여 사용할 수 있고, 프로그래밍에 가까워 질 수 있다.

변수명=변수값

var=7
var_str="It is my string"

변수형은 쉘에서 자동으로 결정한다.

그리고 변수의 생명주기는 쉘 스크립트가 실행되어 끝날 때까지다.




명령 치환



명령의 결과를 변수에 저장할 수 있다.

#!/bin/bash

echo "hello world!"
test_0=$(ls)
test_1=$(date)

echo $test_0
echo $test_1

$()를 사용하여 명령의 결과값을 얻을 수 있다.

소괄호 안에는 반드시 명령어가 들어가야 한다.

변수명을 적을시 Command not found 라고 뜰 것이다.

왜냐하면 명령어를 적지 않고 변수명을 적었으니 정의된 명령어가 아니므로 에러를 출력할 것이기 때문이다.

ls 명령의 결과를 test_0 변수에 저장하고

date 명령의 결과를 test_1 변수에 저장한다.






활용예) 시뮬레이션 결과를 날짜별로 관리하기

#!/bin/bash

sim_time=$(date +%y%m%d.%H%M%S)
mkdir sim_$sim_time






출력 리다이렉트


이전 포스트에 간략히 설명하였다.


출력 리다이렉트는 명령의 출력을 받아서 파일로 전송한다.

기본 출력 리다이렉트 형식은 다음과 같다.

command > outputfile


기존의 내용에 출력 결과를 추가하고 싶다면

command >> outputfile







입력 리다이렉트


입력 리다이렉트는 출력 리다이렉트와는 반대로, 

파일의 내용을 받아서 명령으로 보내준다.

command < inputfile


다른 점이 하나 있다면 << 부호는 인라인 입력 리다이렉트라는 기호다.

파일 대신 터미널로 입력 리다이렉트를 할 데이터를 지정할 수 있다.

command << marker
data 0
data 1
data 2
...
marker

시작과 끝의 marker 는 동일해야 한다.


wc 명령은 데이터의 줄, 단어, 바이트의 수를 출력한다.

총 3줄, 15개의 단어,
4(띄어쓰기)+19(글자)+1(NULL)+
4(띄어쓰기)+20(글자)+1(NULL)+
4(띄어쓰기)+19(글자)+1(NULL) = 73 바이트





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

쉘 스크립트 작성(3)  (0) 2019.06.16
쉘 스크립트 작성(2)  (0) 2019.06.16
쉘 스크립트 파일 만들기  (0) 2019.06.09
변수 배열  (0) 2019.06.09
PATH 환경 변수  (0) 2019.06.09