본문 바로가기

System Programmings/ShellScript

[ShellScript] 쉘 스크립트

반응형
터미널에서 명령어 그대로 복사해서 붙여 넣어보기
mkdir -p /home/test
cd /home/test
vi test.sh
에디터를 열었으므로 시작하는 부분을 삽입 예들 중에 맘에 드는거 한가지~ 예1
#!/bin/bash

for ((i=0; i<10; i++));	#for의 () 가로가 2개로 된점 주의
do
touch $i.txt
done
예2
#!/bin/bash

for i in $(ls);
do
echo $i
done
예3
#!/bin/bash
if [ ! -d ./data/$(date +%Y%m) ]	#if문에 있는 [ ] 의 각 앞뒤로 공백이 꼭! 존재해야만 한다.
then
mkdir ./data/$(date +%Y%m)
fi
다 적은 다음에 저장하고 닫은 후 아래 명령어 실행
./test.sh
그러면 for문을 통해 0부터 9까지 txt가 만들어져 있을 것이다. 만약 권한 문제가 생긴다면 아래 명령어로 변경
chmod 777 test.sh
스크립트 기초 변수 사용
n="ga na da"	#변수 n에 ga na da 할당, 변수 선언은 따로 없다.
echo $n	#변수 출력시엔 앞에다가 $를 붙인다
echo ${n}	#요렇게도 사용 가능
배열 사용
a[0]="1"
a[1]="2"
echo ${a[0]}	#a[0]의 값 출력
echo ${#a}	#배열의 a[0]의 길이 출력 = echo ${#a[0]} > a[0]에 1값 1개만 있으므로 1 출력
echo ${#a[*]}	#배열의 개수 출력 > a[0]과 a[1]이 있으므로 2 출력
외부 인자값을 통한 내부 처리
m.sh ABC XYZ
#!/bin/bash

echo "TEST";
echo $1	#ABC 출력
echo $2	#XYX 출력
#$1, $2, $3... 는 ABC처럼 뒤에 오는 인자값을 갖는 역할을 한다.
시간 출력
#!/bin/bash
date=$(date +'%Y-%m-%d')
echo $date
반응형