반응형
● 변수
① 변수 사용
|
name="linux"
echo $linux
|
cs |
② expr(산수 계산)
1
2
3
4
5
|
expr 1 + 1
# 2
expr 1+1
# 1+1
|
cs |
연산자와 피연산자는 space로 구분된다.
③ 명령 실행결과를 변수에 저장하는 방법
` 백틱(backtick)이라는 기호를 통해서 명령 실행결과를 변수에 저장시킨다.
기능은 문자열안에 들어있는 쉘명령어를 문자열로 인식하지않고 쉘명령어로 해석한다.
1
2
3
4
5
6
|
#1
str1=`whoami`
echo $str1
#2
str2=$(whoami)
echo $str2
|
cs |
만약 실행 결과가 여러 줄이라면 echo에 큰 따옴표를 붙여서
원본과 동일하게 출력할 수 있다.
|
echo "$str1"
|
cs |
④ 값 입력 받기
|
read vars
|
cs |
● 조건문
○ 제어
if [ 조건 ]; then
...
elif [ 조건 ]; then
...
else
...
fi
|
cs |
비교 연산자
연산자 | 의미 | 부등호 |
-eq | Equals(같다) | = |
-ne | Does not equal(같지않다) | != |
-gt | Greather than(크다) | > |
-lt | Less than(작다) | < |
-ge | Greater than or equal to(크거나 같다) | >= |
-le | Less than or equal to (작거나 같다) | <= |
● 반복문
○ while
#!/bin/bash
i=0
while [ $i -lt 5 ]
do
i=`expr $i + 1`
echo "$i"
done
|
cs |
○ for
ex2
#!/bin/bash
for i in {1..5}
do
echo "$i"
done
|
cs |
배열 : http://wiki.redjini.com/linux/script/array
배열 선언
array_name_1=("value 1" "value 2" "value 3") array_name_2=(1 2 3)
배열 참조
array_name=("value 1" "value 2" "value 3") echo "array_name[0] = ${array_name[0]}" #print array_name[0] echo "array_name[2] = ${array_name[2]}" #print array_name[2] echo "array_name[*] = ${array_name[*]}" #print array_name all item echo "array_name[@] = ${array_name[@]}" #print array_name all item echo "array_name index = ${!array_name[@]}" #print array_name index number echo "array_name size = ${#array_name[@]}" #print array_name size echo "array_name[0] size= ${#array_name[0]}" #print array_name[0] size #출력 결과 #array_name[0] = value 1 #array_name[2] = value 3 #array_name[*] = value 1 value 2 value 3 #array_name[@] = value 1 value 2 value 3 #array_name index = 0 1 2 #array_name size = 3 #array_name[0] size= 7
배열 크기
array_name_1=("value 1" "value 2" "value 3") echo ${#array_name_1[@]} #print "3"
배열 출력
array_name=("value 1" "value 2" "value 3") echo "array = ${array_name[@]}" # 출력 결과 # array = value 1 value 2 value 3 printf "value = %s\n" "${array_name[@]}" # 출력 결과 # value = value 1 # value = value 2 # value = value 3 for value in "${array_name[@]}"; do echo $value done # 출력 결과 # value 1 # value 2 # value 3 for (( i = 0 ; i < ${#array_name[@]} ; i++ )) ; do echo "value[$i] = ${array_name[$i]}" done # 출력 결과 # value[0] = value 1 # value[1] = value 2 # value[2] = value 3 for index in ${!array_name[*]} ; do printf "%4d: %s\n" "$index" "${array_name[$index]}" done # 출력 결과 # 0: value 1 # 1: value 2 # 2: value 3
● 표준 입출력
○ 0, 1, 2는 각각 표준입력, 표준출력, 그리고 표준에러를 의미한다.
1 표준 출력 제거
> /dev/null ← 쓰레기통으로 비유한다.
예시) ls -al > /dev/null # ls -al 결과값이 버려진다.
2 표준 에러를 표준 출력으로 리다이렉션
> /dev/null 2>&1
|
cs |
표준출력 ---> /dev/null
표준에러 ---> 표준출력 ↗
예시) abcd -w > /dev/null 2>&1
# 위 abcd라는 명령은 존재하지 않으므로 오류를 반환한다.
하지만 표준 오류를 표준 출력으로 돌렸고 표준 출력은
/dev/null을 통해 버려지기 때문에 오류가 화면에 보이지 않는다
참고로 &는 백그라운드로 실행하라는 의미다.
반응형
'OS-서버 > 리눅스-유닉스' 카테고리의 다른 글
Solaris SVCS(서비스 관리) 사용방법 (0) | 2018.03.21 |
---|---|
리눅스 부팅 시 명령 , 서비스 자동 실행 (0) | 2018.03.21 |
우분투에서 그누보드5 설치 (2) | 2017.12.20 |
Ubuntu , CentOS - ftp 설치 (0) | 2017.12.20 |
.bashrc , /etc/init.d (0) | 2017.12.12 |