Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

Bash 스크립팅 기초 - 변수, 조건문, 반복문

Bash 스크립팅 기초 Bash 스크립트는 Linux/Unix 시스템에서 자동화를 위해 필수적인 기술입니다. 기본 규칙 대입 연산 시 = 좌우에 공백 없이 작성: VAR=text 상수는 대문자, 변수는 소문자 단어 분리는 _ 사용 변수 변수 선언 VAR=text # 같은 쉘에서만 사용 가능 export (환경 변수) …

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




Bash 스크립팅 기초



Bash 스크립트는 Linux/Unix 시스템에서 자동화를 위해 필수적인 기술입니다.






기본 규칙




  • 대입 연산 시 = 좌우에 공백 없이 작성: VAR=text

  • 상수는 대문자, 변수는 소문자

  • 단어 분리는 _ 사용






변수






변수 선언






VAR=text  # 같은 쉘에서만 사용 가능









export (환경 변수)






export VAR=text  # 같은 프로세스 내에서 사용 가능, 프로세스 종료 시 초기화









변수 사용






echo "$VAR"
echo "${VAR}"
mkdir ~/temp/db/$1 # 변수 연결









Command Substitution



명령 실행 결과를 변수에 저장:




$(command)
`command`

# 예시
echo $(ls)
ls -l $(which cp)
echo `ls`









Quoting






# 따옴표 안에서 변수, 계산, 명령어 사용
echo "$USER $((2+2)) $(cal)"

# Double quote - 변수/명령어 확장됨
echo "text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER"
# => text ~/*.txt {a,b} foo 4 me

# Single quote - 그대로 출력
echo 'text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER'
# => text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER









조건문






if문






# 한 줄
if true; then echo "It's true."; else echo "bb"; fi

# 여러 줄
if [ -f .bash_profile ]; then
echo "You have a .bash_profile."
elif [ "$character" = "2" ]; then
echo "You entered two."
else
echo "Yikes!"
fi









비교 연산






if [ $number = "1" ]; then
echo "Number equals 1"
fi

# 숫자와 문자 구별 안함
if [ 1 = "1" ]; then
echo "Equal"
fi









case문






case $character in
1 ) echo "You entered one."
;;
2 ) echo "You entered two."
;;
[[:lower:]] | [[:upper:]] )
echo "You typed a letter"
;;
[0-9] )
echo "You typed a digit"
;;
* ) echo "Unknown input"
esac









test 표현식






# 파일 테스트
-d file # directory
-e file # exists
-f file # regular file

# 문자열 테스트
-z string # empty (zero)
-n string # not empty
string1 = string2
string1 != string2

# 산술 비교
-eq # equal
-ne # not equal
-lt # less than
-le # less than or equal
-gt # greater than
-ge # greater than or equal

# 부정
if [ ! -d $1 ]; then
echo "Not a directory"
fi









반복문






for문






# 기본 형태
for variable in words; do
commands
done

# 예시
for i in word1 word2 word3; do
echo $i
done

# 숫자 범위
for index in 1 2 3 4 5; do
echo $index
done

# C 스타일
for (( i = 2 ; i <= 16 ; i++ )); do
cp 1.sqlite $i".sqlite"
done

# 배열 순회
for element in $(seq 0 $((${#script_contents[@]} - 1))); do
echo -n "${script_contents[$element]}"
done









while문






number=0
while [ "$number" -lt 10 ]; do
echo "Number = $number"
number=$((number + 1))
done









until문 (false일 때 계속)






number=0
until [ "$number" -ge 10 ]; do
echo "Number = $number"
number=$((number + 1))
done









산술 연산






# Arithmetic Expansion
echo $((2 + 2))
echo $(((5**2) * 3))

# let
let myvar+=1

# 배열 연산
area[5]=`expr ${area[11]} + ${area[13]}`

# 제곱
$((5**2))

# 나머지
$((5%2))









배열






# 선언
area=( zero one two three four )

# 접근
echo ${area[11]}

# 설정
area[11]=abc
area3=([17]=seventeen [24]=twenty-four)

# 길이
echo ${#area[*]}

# 전체 출력
echo ${array[*]}
echo ${array[@]}

# 범위
echo ${array[*]:1:3} # 1부터 3개

# Brace expansion
list=(Front-{a,b,c}-back) # Front-a-back Front-b-back Front-c-back
list=(Number_{1..5}) # Number_1 ... Number_5









함수






Alias






alias l='ls -l'









함수 정의






today() {
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
}

today # 함수 호출









Argument 처리






# sh a.sh a b c

# 위치 파라미터
$0 # 스크립트 경로
$1 # 첫 번째 인자 (a)
$2 # 두 번째 인자 (b)
$# # 인자 개수

# 반복 처리
while [ "$1" != "" ]; do
case
$1 in
-f | --file ) shift
filename=$1
;;
-i | --interactive )
interactive=1
;;
-h | --help ) usage
exit
;;
* ) usage
exit 1
esac
shift
done

# for문 사용
for i in "$@"; do
echo $i
done









명령 결과 확인






# 마지막 명령 결과 (0이면 성공)
echo $?

ls -d /usr/bin
echo $? # 0

ls -d /bin/usr
echo $? # 2 (에러)









Shell 실행






# 새 쉘에서 실행
sh test.sh
. test.sh

# 현재 쉘에서 실행 (변수 공유)
source test.sh









Originally published at https://dss99911.github.io

2. Cyber Threat Intelligence & Forensik

CTI Threat Relationship Graph3 Knoten / 2 Relationen
CVE / Incident Software MITRE ATT&CK CWE Weakness IoC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Bash 스크립팅 기초 - 변수, 조건문, 반복문

Thematisch verwandte Begriffe: Bash, 스크립팅 · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-100896 | A weakness has been identified in TOTOLINK N150RT 3.4.0-B20201030. The …
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag