'전체 글'에 해당되는 글 120건

  1. 2021.04.15 [Shell Script] 배열(Array)
  2. 2021.04.15 [Shell Script] 인자(Argument)
  3. 2021.04.15 [Shell Script] 변수(Variable)
posted by 귀염둥이채원 2021. 4. 15. 04:42

 

---------------------------------------------------------

# array example

---------------------------------------------------------

#!/bin/bash

# 배열의 크기 지정없이 배열 변수로 선언

# 참고: 'declare -a' 명령으로 선언하지 않아도 배열 변수 사용 가능함

declare -a array

 

# 4개의 배열 값 지정

array=("hello" "test" "array" "world")

 

# 기존 배열에 1개의 배열 값 추가(순차적으로 입력할 필요 없음)

array[4]="variable"

 

# 기존 배열 전체에 1개의 배열 값을 추가하여 배열 저장(배열 복사 시 사용)

array=(${array[@]} "string")

 

# 위에서 지정한 배열 출력

echo "hello world 출력: ${array[0]} ${array[3]}"

echo "배열 전체 출력: ${array[@]}"

echo "배열 전체 개수 출력: ${#array[@]}"

 

printf "배열 출력: %s\n" ${array[@]}

 

# 배열 특정 요소만 지우기

unset array[4]

echo "배열 전체 출력: ${array[@]}"

 

# 배열 전체 지우기

unset array

echo "배열 전체 출력: ${array[@]}"

 

# output

$ bash test.sh

hello world 출력: hello world

배열 전체 출력: hello test array world variable string

배열 전체 개수 출력: 6

배열 출력: hello

배열 출력: test

배열 출력: array

배열 출력: world

배열 출력: variable

배열 출력: string

배열 전체 출력: hello test array world string

배열 전체 출력:

 

---------------------------------------------------------

# array example

---------------------------------------------------------

#!/bin/bash

MyArray=(HTML Javascript CSS JQuery Bootstrap)

 

# Print 5 values individually

echo "----------Print 5 values individually---------------"

echo ${MyArray[0]}

echo ${MyArray[1]}

echo ${MyArray[2]}

echo ${MyArray[3]}

echo ${MyArray[4]}

 

#Print all values by using *

echo "-----------------Print all values-------------------"

echo ${MyArray[*]}

 

# output

$ bash test.sh

----------Print 5 values individually---------------

HTML

Javascript

CSS

JQuery

Bootstrap

-----------------Print all values-------------------

HTML Javascript CSS JQuery Bootstrap

 

---------------------------------------------------------

# array에서 for문 사용

---------------------------------------------------------

#!/bin/bash

MyArray=(HTML Javascript CSS JQuery Bootstrap)

 

for i in "${MyArray[@]}"; do

#echo $i

if [[ "$i" == "CSS" ]]; then

echo $i

fi

done

 

# output

$ bash test.sh

CSS

 

---------------------------------------------------------

# array에서 for문 사용

---------------------------------------------------------

#!/bin/bash

# Declare array with 4 elements

ARRAY=('Debian Linux' 'Redhat Linux' Ubuntu Linux)

 

# get number of elements in the array

ELEMENTS=${#ARRAY[@]}

 

# echo each element in array

# for loop

for ((i = 0; i < $ELEMENTS; i++)); do

echo ${ARRAY[${i}]}

done

 

# output

$ bash test.sh

CSS

 

# output

# bash test.sh

Debian Linux

Redhat Linux

Ubuntu

Linux

 

---------------------------------------------------------

# 배열 요소 추가

---------------------------------------------------------

#!/bin/bash

MyArray=(HTML Javascript CSS JQuery Bootstrap)

 

# array append

MyArray+=("Go")

 

# Add new element at the end of the array

MyArray[${#MyArray[@]}]="Python"

 

# 한줄로 표시

for val in "${MyArray[@]}"; do echo $val; done

 

# output

$ bash test.sh

HTML

Javascript

CSS

JQuery

Bootstrap

Go

Python

 

---------------------------------------------------------

# 배열 끝에 여러 요소 추가

---------------------------------------------------------

#!/bin/bash

# Declare two string arrays

arrVar1=("John" "Watson" "Micheal" "Lisa")

arrVar2=("Ella" "Mila" "Abir" "Hossain")

 

# Add the second array at the end of the first array

arrVar=(${arrVar1[@]} ${arrVar2[@]})

 

# Iterate the loop to read and print each array element

for value in "${arrVar[@]}"; do

echo $value

done

 

# output

$ bash test.sh

John

Watson

Micheal

Lisa

Ella

Mila

Abir

Hossain

 

---------------------------------------------------------

# 참고사이트

---------------------------------------------------------

https://blog.gaerae.com/2015/01/bash-hello-world.html

https://linuxhint.com/bash_append_array/

 

posted by 귀염둥이채원 2021. 4. 15. 04:11

---------------------------------------------------------

# argument example

---------------------------------------------------------

#!/bin/bash

# echo arguments to the shell

echo $1 $2 $3 ' -> echo $1 $2 $3'

 

# We can also store arguments from bash command line in special array

args=("$@")

 

# echo arguments to the shell

echo ${args[0]} ${args[1]} ${args[2]} ' -> args=("$@"); echo ${args[0]} ${args[1]} ${args[2]}'

 

# use $@ to print out all arguments at once

echo $@ ' -> echo $@'

 

# use $# variable to print out

# number of arguments passed to the bash script

echo Number of arguments passed: $# ' -> echo Number of arguments passed: $#'

 

# with for

for i in $@; do

echo "$i"

done

 

# output

$ bash test.sh input1 input2 input3 input4 input5

input1 input2 input3 -> echo $1 $2 $3

input1 input2 input3 -> args=("$@"); echo ${args[0]} ${args[1]} ${args[2]}

input1 input2 input3 input4 input5 -> echo $@

Number of arguments passed: 5 -> echo Number of arguments passed: $#

input1

input2

input3

input4

input5

 

posted by 귀염둥이채원 2021. 4. 15. 03:32

---------------------------------------------------------

# 변수(Variable)

---------------------------------------------------------

* 변수 사용시에는 "=" 기호 앞뒤로 공백이 없이 입력하면 대입연산자가 된다.

* 선언된 변수는 기본적으로 전역 변수(global variable)다.

- 함수 안에서만 지역 변수(local variable) 사용할 있는데 사용할려면 변수 앞에 local을 붙여주면 된다.

* 전역 변수는 현재 실행된 스크립트 파일에서만 유효하다.

- 자식 스크립트에서는 사용 없는 변수다.

* 변수명 앞에 export을 붙여주면 환경 변수(environment variable)로 설정되어 자식 스크립트에서 사용 가능하다.

* 환경 변수 사용시 예약 변수(reserved variable)에 주의하자.

(참고로 환경 변수는 .bash_profile에서 정의한다.)

 

---------------------------------------------------------

# 전역변수와 지역변수

---------------------------------------------------------

#!/bin/bash

# 전역 변수 지정

string="hello world"

echo ${string}

 

# 지역 변수 테스트 함수

string_test() {

# 전역 변수와 동일하게 사용함. 만약 local 뺀다면 전역 변수에 덮어씌어지게 됨

local string="local"

echo ${string}

}

# 지역 변수 테스트 함수 호출

string_test

# 지역 변수 테스트 함수에서 동일한 변수 명을 사용했지만 값이 변경되지 않음

echo ${string}

 

# 환경 변수 선언

export hello_world="hello world..."

# 자식 스크립트 호출은 스크립트 경로을 쓰면된다.

/home/export_test.sh

 

# 환경 변수를 테스트하기 위해 export_test.sh 파일을 만들고 선언한 변수를 확인해본다.

echo ${hello_world}

 

# output

$ ash test.sh

hello world

local

hello world

test.sh: line 19: /home/export_test.sh: No such file or directory

hello world...

 

---------------------------------------------------------

# 전역변수와 지역변수

---------------------------------------------------------

#!/bin/bash

# This variable is global and can be used anywhere in this bash script

VAR="global variable"

function bash {

# Define bash local variable

# This variable is local to bash function only

local VAR="local variable"

echo $VAR

}

echo $VAR

bash

# Note the bash global variable did not change

# "local" is bash reserved word

echo $VAR

 

# output

$ bash test.sh

global variable

local variable

global variable

 

---------------------------------------------------------

# 참고 사이트

---------------------------------------------------------

https://blog.gaerae.com/2015/01/bash-hello-world.html