Bash Script If statement

Bash 스크립트 if 조건문 문법

기본적으로, if / elif / else / fi 로 구성한다. 

if[] bracket 사이에는 공백이 있어야 하며, [] bracket 과 [[ ]] double bracket( ) paranthesis 는 다를 수 있으므로 주의하자.

if [ expression ]

then

statement

elif [ expression ]

then

statement

else 

statement

fi


expression 에 사용하는 Comparison 은 아래와 같다.

integer comparison

if [ "$a" -eq "$b" ]  : 같음(equal to)

if [ "$a" -ne "$b" ]  : 다름(not equal to)

if [ "$a" -lt "$b" ]  : 작음(less than)

if (( "$a" < "$b" ))

if [ "$a" -gt "$b" ] : 큼(greater than)

if (( "$a" > "$b" ))

if [ "$a" -le "$b" ] : 작거나 같음(less than or equal to)

if (( "$a" <= "$b" ))

if [ "$a" -ge "$b" ] : 크거나 같음(greater than or equal to)

if (( "$a" >= "$b" ))


string comparison

if [ "$a" == "$b" ]  : 같음(equal to)

if [ "$a" = "$b" ] ※ = 양쪽 모두 빈 칸 이여야 함

if [ "$a" != "$b" ]  : 다름(not equal to)

if [ -z "$a" ] : string 이 null 이 아님(즉, 0이 아닌 길이가 있는 string)


if statement 에 not 을 사용하고자 하는 경우 ! 를 사용하면 된다.

if ! [ "$arg" -eq "matching" ]

then

echo "Not matched with the first one"

fi


If statement 를 사용해 file 존재 유무 확인

if [ -d <DIR> ] : Directory 가 존재

if [ -f <FILE> ] : 파일이 존재하며, directory 가 아님

if [ -x <FILE> ] : 파일이 실행 가능함

if [ -f test.c ]

then

echo "File test.c exists!"

else

echo "File test.c does not exist"

fi


If statement  Logical AND, OR 문법

if [[ condition1 && condition2 ]] : Logical AND

if [ condition1 ] && [ condition2 ]

if [ condition1 -a condition2 ]

if [[ condition1 || condition2 ]] : Logical OR

if [ condition1 ] || [ condition2 ]

if [ condition1 -o condition2 ]

if [[ condition1 && condition2 ]] || [[ condition3 && condition4 ]]

then

echo "Condition (1 AND 2) OR (3 AND 4)"

fi



참조

http://tldp.org/LDP/abs/html/comparison-ops.html

'Programming > Bash Script' 카테고리의 다른 글

Bash Script Variable Split by Space  (0) 2018.02.04
Bash Script Echo  (0) 2018.02.04
Bash Script String  (0) 2017.07.04
Bash script argument  (0) 2017.06.20
Bash script sudo 권한 체크  (1) 2017.06.19

Swift 기본 문법 정리


1. 변수(Variable) 와 상수(Constant)

var variable_name = inital_value

let constant_name = constant_value

* 상수는 값이 변경 될 수 없음

* 안정성을 위해서는 상수를 쓸 것을 권장함

* 변수/상수 이름으로는 공백, 연산자, 화살표 등을 제외한 왠만한 Unicode 문자는 다 가능함

* 변수/상수 이름을 숫자로 시작 할 수 없음


2. 자료형(Data types)

String / Float / Int / Bool / Double / Character

var name: String = "홍길동"

var age: Int = 20

* 자료형을 입력하지 않으면 Compiler가 값을 바탕으로 자료형을 추론함


Range / ClosedRange

let underFive = 0.0..<5.0 // Range

let lowercase = "a".."z" // ClosedRange


3. 배열(Array) 과 Dictionary

Dictionary는 C 언어에는 없는 Data structure 인데, Array와 비슷함

var names: [String] = ["홍길동", "김철수", "신짱구"]

var smartphones: [String: String] = ["삼성": "갤럭시", "애플": "아이폰"]

* 변수/상수 모두 배열/Dictionary로 선언 가능

* 초기 값을 공백으로 빈 배열/Dictionary 선언 가능

* 빈 Dictionary는 대괄호 안에 :(Colon) 넣어줘야함

* 생성자(Initializer) 호출을 통해서도 빈 배열/Dictionary 선언 가능


4. 조건문과 반복문

if / else if / else

if a >= 3 && a < 5 {

//then

} else if a < 7 {

//then

} else {

//then

}

* 조건문의 조건은 Bool type 만 될 수 있음


switch / case

switch a {

case 1:

//

case 2..<5:

//

case default:

//

}

* case에 범위(Range/ClosedRange)를 지정할 수도 있음


for

for i in 0..<100 {

//

}


for name in names {

print("이름 : \(name)");

}


for (maker, brand) in smartphones {

print("\(maker) 의 smartphone brand는 \(brand) 이다.");

}

* for 문에 배열/Dictionary 를 사용할 수 있음


while

while i < 10 {

//

}


+ Recent posts