202401to07
  • 2024.05.27.월.보안 day37
    2024년 05월 27일 12시 46분 11초에 업로드 된 글입니다.
    작성자: 202401to07

    쉘 스크립트 

     

    쉘스크립트 

    **주의사항**

    1. if 가 시작되면 fi 로 끝난다. (ex case  esac )
    2. $(명령어) 는 출력 내용이다. 
    3. echo 는 출력이다. (printf와 같다)
    4. then 상황 또는 조건을 이야기한다.
    5. $(test)와 [ ] 같은 의미이다.
    6. [ 안의 내용 ]   괄호 안에는 한칸씩 띄어준다.

     

    -e 파일./ 디렉토리 존재 

    -f 파일 존재 

    -d 디렉토리 존재 

    -s 심볼릭 링크 존재 

     

    vi if.sh 
    #!/bin/bash
    if $(test -e /test/a/222); then         : test안에 test/a/222가 존재하면 
    cp -a /test/a/222  ./                        : 복사 
    echo "복사끝!! 완료!!"
    else
    echo "파일읍어 다시~"
    exit
    fi


    vi if2.sh
    #!/bin/bash
    if [ -e  /test/sevas/love ]; then      : test/sevas/love가 존재하면
    cp -a /test/sevas/love ./
    echo "참잘하셨어요"
    else
    echo "다시 시도하세요"
    exit
    fi


     

    비교 연산
    #le 작거나 같을경우
    #ge 크거나 같을경우
    #eq 같을경우
    #lt 작을경우
    #gt 클경우
    #ne 다를경우
    ++ 표현은 $(($A+1))  도 가능

     

    vi while1.sh

    #!/bin/bash

    if [ -d  /test/sevas/start ]; then

    x=0;
    while [ "$x" -le 10 ]; do
    echo "나의 핵꿀밤을 받아라~!"
    sleep 2
    echo " $x 대 아얏~!"
    #x=$(expr $x + 1)
    x=$((x+1))
    done

    sleep 3
    echo "엉엉엉 ㅠㅠ"


    else

    echo " 조건을 만족하세요"
    exit
    fi


    vi until.sh

    #!/bin/bash

    if  [ -s /test/sevas2/111 ] && [ -f /test/sevas2/111 ]; then

    count=0;
    until [ $count -ge 4 ];
    do
    echo "꿀밤 때리기 이어서~"
    sleep 1
    echo "$count회 공격으로 $count 데미지를 입었습니다."
    count=$((count+1))
    done
    sleep 3
    echo "적이 소멸했습니다."

    else

    echo "조건을 만족하세요"
    exit
    fi


    전설의 포켓몬 SEVAS를 만났습니다.
    주인공 korea의 공격은 때릴수록 +1 씩 쎄집니다
    SEVAS의 HP는 40입니다.
    3부터 시작해서 공격력이 1씩 증가
    SEVAS HP가 0 과 같거나 작을경우 종료

    korea=3;
    sevas=40;

    while [ $sevas -gt 0 ]; do
    echo "공격력=$korea"
    sevas=$(($sevas-$korea))
    korea=$(($korea+1))
    echo "HP=$sevas"
    done
    echo "끝  $sevas"


    이제 랜덤

    랜덤값
    echo $((RANDOM%11))    0에서부터 11개까지 즉 0~10
    echo $((RANDOM%10 + 1))   1  10개 까지

     

     

    [root@sevas10 shell]# echo  "hi "                    = printf
    hi
    [root@sevas10 shell]# echo -n  "hi "               =print
    hi [root@sevas10 shell]#

     


    vi read.sh
    #!/bin/bash

    echo -n "사용하고 싶은 글을 쓰세요: "
    read a
    echo "당신이 쓰신 글은 : [ $a ]입니다"


    문제) 다음중 카드 뽑기 프로그램을 만들어서 3성 4성 5성을 뽑아보세요.
    시작시에 시작할건지 거절할건지 정할수 있음
    확률) 90% 3성 9% 4성 1% 5성

    #!/bin/bash
    while :
    do
    echo -n "카드를 뽑아 보시겠습니까? (y/n) "
    read a

    R=$(($RANDOM%100))
    clear
    if    [ "$a" = y ]; then
    echo "당신이 카드를 뽑습니다"

    if [ $R == 0 ]; then
    sleep 1
    echo "오오옷!!!"
    sleep 1
    echo "으아아아!!!"
    sleep 1
    echo "($R) 황금빛 광채가 쏟아지며 5성카드가 나왔습니다"

    elif (($R > 0)) && (($R <= 10)); then
    sleep 1
    echo "오오옷!!!"
    sleep 1
    echo "($R) 4성카드가 나왔습니다."
    elif (($R > 10)) && (($R <= 99)); then
    echo "($R) 3성카드가 나왔습니다."
    fi

    elif  [  "$a" = n ]; then
    echo "카드뽑기가 종료 되었습니다."
    exit

    else
    echo "제대로 고르시지?"

    fi
    done

    '보안' 카테고리의 다른 글

    2024.05.29.수.보안 day39  (0) 2024.05.29
    2024.05.28.화.보안 day38  (0) 2024.05.28
    2024.05.24.금.보안 day36  (0) 2024.05.24
    리눅스 DNS  (0) 2024.05.23
    윈도우 DNS  (0) 2024.05.23
    댓글