https://80000coding.oopy.io/7c84ede6-2741-4491-8fa4-d6f216944c13
**(1) 변수 선언하기**
쉘스크립트에서도 변수를 사용할 수 있습니다.
변수명=값 으로 변수를 선언하고, 사용할때는 앞에 $를 붙여줍니다.
중괄호를 이용하는 방법도 있습니다. ${변수} 식으로 중괄호로 묶어서 사용합니다.
#!/bin/bash**h="hi"
b="bye"
echo "${h},${b}"
printf "%s,%s" $h,$b
**(2) 외부 변수 만들기**
export 는 외부변수로 선언을 위한 키워드입니다. 선언된 변수는 다른 프로그램에서도 사용 가능하죠.
그 변수를 다른 스크립트에서 사용할 수 있습니다.
text.txt 는 변수 선언하고 export를, text2.txt는 그 변수를 출력하는 쉘 스크립트입니다.
#text.txt
**#!/bin/bash**
export MY_Var="KS"
./text2.txt
#text2.txt
**#!/bin/bash**
echo ${MY_Var}
같은 폴더 안에 이 두 파일을 만들어줬다면, ./text.txt 만 불러줘도 KS 라는 값이 출력된다.
전역 변수로 MY_Var 을 만들어준 후 text2로 불러왔기 때문이다.
./text.txt
#KS
**(3) 매개변수 활용하기**
쉘에서 스크립트로 매개변수를 보내줄 수 있다.
./text.txt aaa bbb
이런 식으로 공백을 가지고 aaa 와 bbb 로 매개변수를 보낸다.
이러한 것들을 '위치 매개변수'라고 한다.
이들을 받아내기 위해서 스크립트
# text.txt
**#!/bin/bash**
echo "script name:${0}"
echo "매개변수 갯수 :${#}"
echo "전체 매개변수 값 : ${*}"
echo "전체 매개변수 값2 : ${@}"
echo "매개변수 1 : ${1}"
echo "매개변수 2 : ${2}"
${}안의 옵션
위 스크립트를 쉘에서 실행
매개변수 갯수 :2
전체 매개변수 값 : aaa bbb
전체 매개변수 값2 : aaa bbb
매개변수1:aaa
매개변수2:bbb
for문으로 인한 반복
**for 반복문 사용 예제-리스트 원소 출력**
for i in 1 2 3 4 5
do
echo "Looping ... number $i"
done
**for 반복문 사용 예제-배열 원소 출력**
array=(1 3 5 7 9)
for var in "${array[@]}"
do
echo $var
done
**for 반복문 사용 예제 - 순차적으로 증가하면서 반복**
for var in {1..100}
do
echo $var
done
while문
while [ 조건문 ]
do
# 반복해서 실행할 코드
done
기본 루프 : 1부터 5까지 출력
#!/bin/bash
counter=1
while [ $counter -le 5 ]
do
echo $counter
counter=$((counter+1))
done
f문은 리눅스 쉘 스크립트에서 사용되는 조건문입니다. if문은 주어진 조건이 참(True)인 경우에만 특정 작업을 수행합니다.
아래는 if문의 기본 구문입니다:
if [ 조건식 ]
then
# 조건식이 참인 경우 실행할 코드
fi
위에서 [ 조건식 ]은 참(True) 또는 거짓(False)이 되는 조건을 지정합니다. 조건식은 대괄호([]) 안에 위치하며, 대괄호 안에는 조건식을 나타내는 여러 가지 옵션들이 있습니다.
예를 들어, 파일이 존재하는 경우에만 특정 코드를 실행하고자 한다면, 다음과 같이 if문을 사용할 수 있습니다:
if [ -e 파일이름 ]
then
# 파일이 존재하는 경우 실행할 코드
fi
리눅스 쉘 스크립트에서는 if문과 함께 elif와 else문을 사용하여 조건식이 거짓(False)인 경우에 대한 처리를 지정할 수 있습니다.
다음과 같이 if/elif문을 사용할 수 있습니다:
if [ -d 디렉토리명 ]
then
# 디렉토리인 경우 실행할 코드
elif [ -f 파일명 ]
then
# 파일인 경우 실행할 코드
else
# 디렉토리도 아니고 파일도 아닌 경우 실행할 코드
fi