반응형

출처 : https://www.gitbook.com/book/mug896/shell-script/details


좋은 곳 : http://www.dreamy.pe.kr/zbxe/CodeClip/3765748

${var%pattern}${var%%pattern}

$pattern이 $var의 뒷 부분과 가장 짧거나 가장 길게 일치하는 부분을 삭제.



shell-script.pdf



출처 : http://blog.redjini.com/282


배열(Array) : 선언하기

1
2
array_name_1=("value 1" "value 2" "value 3")
array_name_2=(1 2 3)

배열(Array) : 참조하기

1
2
3
4
5
6
7
8
9
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) : 크기 구하기

1
2
3
array_name_1=("value 1" "value 2" "value 3")
 
echo ${#array_name_1[@]}  #print "3"

배열(Array) : 출력하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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

 

반응형
Posted by Real_G