티스토리 뷰

요즘 bash로 몇몇 테스트 환경 구축을 위한 script을 만들고 있어 이중
배열형태로 데이터를 저장하고 이를 쉽게 사용하는 방법을 간단히 정리하고자 한다.

테스트 환경을 자주 만들고 지워야하는 입장에서 간단히 지울 resource group을 찾아 지우는 script이다.

#!/bin/bash

GROUPLIST=$(az group list --query '[].name' -o tsv)
num=0; for rg in $(az group list --query '[].name' -o tsv); do num=$(expr $num + 1); echo $num $rg ; declare "rg_$num"=$rg ; done
DELRGNUM=0

re='^[0-9]+$'
inputnum() {
  echo -n "#### write number to delete rg: "
  read

  if ! [[ $REPLY =~ $re ]]; then
    echo "[ERROR] Must input the number"
    inputnum
  else
    DELRGNUM=$REPLY
    :
  fi
}

inputnum
rgname="rg_$DELRGNUM"
echo "[INFO] try to delete "${!rgname}
az group delete -n ${!rgname}

실제 실행하게 되면 리스트를 출력하고
삭제할 번호를 입력하면 삭제가 되게 된다.

jacob@laptop:~/workspace $ delrg
1 cloud-shell-storage-southeastasia
2 DefaultResourceGroup-SE
3 testrg
#### write number to delete rg: 3
[INFO] try to delete testrg
Are you sure you want to perform this operation? (y/n): y
jacob@laptop:~/workspace $ 

여기서 참고하고 나중에 활용하면 좋을만한것을 간단히 정리하면
배열형태로 출력되는 각 아이템을 다음과 같이 임시로 변수로 만든다.

num=0; for rg in $(az group list --query '[].name' -o tsv); do num=$(expr $num + 1); echo $num $rg ; declare "rg_$num"=$rg ; done

이후 앞서 변수로 받은 number에 맞는 변수를 다음과 같이 호출할 수 있다.

rgname="rg_$DELRGNUM"
echo "[INFO] try to delete "${!rgname}

참고사이트

'programming > Scripts' 카테고리의 다른 글

powershell  (0) 2019.08.14
wsgi with apache  (0) 2016.07.20
parsing xml  (0) 2013.07.12
python for ssh  (0) 2012.07.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
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
글 보관함