bash shell을 써서 서버 환경을 자동으로 설정할 수 있도록 하는 스크립트를 작성하고 있어요 ^^

이거 잼있네요! 문법을 다 볼 시간이 없어서, 필요한 것들만 찾아서 만들고 있는데요.

약간은 어설프지만, 잼있네요!! (근데 왜 눈이 촉촉할ㄲ...)


자주 까먹으니깐, 간단하게 정리해둡니다. 


이전 포스팅에서 string split에 대해서 간단하게 작성했었는데요. 

아래 주소가 있습니다 ^^ 아래 포스팅 내용을 활용해서 if else를 사용해볼께요.



결국 아래 내용을 통해서 문자열을 분리했는데요.


#!/bin/bash

while read line
do
  IFS=': ' read -a array <<< $line
  echo ${array[0]}
  echo ${array[1]}
done < "setting"


만약 분리한 문자열들이 저장되어 있는 배열의 0번째 요소가 user와 같으면 혹은 passwd와 같으면

그 값인 배열의 1번째 요소를 따로 저장해두려고 합니다. 


즉 위 소스에서 echo ... 부분을 아래와 같이 변경하면됩니다. 

  if [ ${array[0]} == "user" ]
  then
    username=${array[1]}
  elif [ ${array[0]} == "passwd" ]
  then
    password=${array[1]}
  fi

파란색으로 표시한 부분이 bash shell에서 if else if statement을 나타낸 것입니다.

if 조건은 [ ] 안에 들어가면 되고, then을 적은 뒤 조건이 참일 경우 수행할 소스를 적으면 됩니다.
마지막으로는 if 문을 종료하는 fi를 입력하시면 됩니다. 

if와 then은 아래와 같이 세미콜론(;)을 통해 한 줄에도 작성 가능합니다. 
if [ ${array[0]} == "user" ]; then


그럼 합친 소스코드를 확인해보세요.


#!/bin/bash

 

username=""

password=""


while read line

do

  IFS=': ' read -a array <<< $line

  echo ${array[0]}

  echo ${array[1]}


  if [ ${array[0]} == "user" ]

  then

    username=${array[1]}

  elif [ ${array[0]} == "passwd" ]

  then

    password=${array[1]}

  fi

done < "setting"


echo $username

echo $password



+ Recent posts