bash_script

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
bash_script [2022/05/08 14:34] koovbash_script [2023/04/20 05:47] (현재) – [Swich case Loop] koov
줄 23: 줄 23:
 <code bash> <code bash>
 $ for i in */; do echo ${i%/}; done $ for i in */; do echo ${i%/}; done
 +</code>
 +</WRAP>
 +
 +
 +=== 배열 다루기 ===
 +
 +<WRAP prewrap>
 +<code bash>
 +#!/bin/bash
 +VAR=(
 +a
 +b
 +c
 +d
 +e
 +)
 +
 +for i in ${VAR[*]}
 +do
 + echo $i;
 +done
 +</code>
 +</WRAP>
 +
 +===== Swich case Loop =====
 +특정 작업 처리용 스크립트로서 입력을 받아 ''switch''문으로 구분된 각각의 작업을 처리하며 현재 진행된 상태 표시 기능포함
 +<WRAP prewrap>
 +<code bash>
 +#!/bin/bash
 +
 +CURR="0"
 +while true; do
 +
 +    echo "########################";
 +    echo -n "1) bootstrap"; if [ $CURR == 1 ]; then echo -n " <== Current"; fi; echo "";
 +    echo -n "2) precheck"; if [ $CURR == 2 ]; then echo -n " <== Current"; fi; echo "";
 +    echo -n "3) deploy"; if [ $CURR == 3 ]; then echo -n " <== Current"; fi; echo "";
 +    echo -n "4) destroy"; if [ $CURR == 4 ]; then echo -n " <== Current"; fi; echo "";
 +    echo -n "5) purge images"; if [ $CURR == 5 ]; then echo -n " <== Current"; fi; echo "";
 +    echo -n "6) reboot nodes"; if [ $CURR == 6 ]; then echo -n " <== Current"; fi; echo "";
 +    echo "exit) quit";
 +    echo "########################";
 +    echo "Choice) ";
 +
 +    read x
 +    CURR=$x;
 +    case $x in
 +        exit) break ;;
 +
 +        1) echo "Bootstraping...";
 +        kolla-ansible -i ./multinode bootstrap-servers;
 +        ;;
 +
 +        2) echo "Prechecking...";
 +        kolla-ansible -i ./multinode prechecks;
 +        ;;
 +
 +        3) echo "Deploying...";
 +        kolla-ansible -i ./multinode deploy;
 +        ;;
 +
 +        4) echo "Destroying..";
 +        kolla-ansible -i ./multinode destroy --yes-i-really-really-mean-it;
 +        ;;
 +
 +        5) echo "Purging images..";
 +        ansible -m shell -a 'docker rmi $(docker images -q)' -i multinode all;
 +        ;;
 +
 + 6) echo "Reboot nodes..";
 + ansible -m shell -a 'sync;reboot' -i multinode control;
 + ansible -m shell -a 'sync;reboot' -i multinode compute;
 + ;;
 +
 +        *) echo "Unknown response, enter a number or type 'exit' to quit" ;;
 +    esac
 +done
 </code> </code>
 </WRAP> </WRAP>
  
  • bash_script.1652020482.txt.gz
  • 마지막으로 수정됨: 2022/05/08 14:34
  • 저자 koov