본문 바로가기
Linux

[Linux] 쉘 제어문

by qoth_0 2023. 11. 22.
728x90
반응형

쉘 제어문

  • if(조건문)
    if[조건]; then
    	# 조건이 참인 경우 실행
    elif[조건]; then
    	# 첫번째 조건이 거짓이고 다른 조건이 참일 때 실행 
    else
    	# 모든 조건이 거짓일 때 실행
    fi //if문 종료
  • for문(반복문)
    for 변수 in (변수내용) # {1..100} 1~100까지
    	do
    		# 반복할 내용
    	done # for문 종료

실습

  • 파일하나 만들어서 1~100까지 숫자를 내용으로 입력
  • mydir2 디렉토리생성
  • 해당 디렉토리에서 파일생성
  • 파일 안에 helloworld1~helloworld100까지 입력

    echo "start"
    if [ -d "mydir2" ]; then # mydir2 존재 여부 확인
        cd mydir2
    else    
        mkdir mydir2
        cd mydir2
    fi
    
    if [ -f "test.txt" ]; then
        rm -rf test.txt # 파일 삭제
        touch test.txt   # 파일 생성
    else   
        touch test.txt
    fi
    
    for a in {1..100}
        do 
            echo "hello world$a" >> test.txt  # txt파일에 내용 추가
        done
    echo "end"

    cat test.txt로 파일 읽기 가능

    실습2

    • for statements practice3 start 라는 문구 터미널에 출력
    • mydir3 폴더 생성
    • 폴더로 이동
    • 해당 폴더에서 file1~file100까지 100개의 파일 만들고, 각 파일마다 hello world from file1, hellow world from file2, 각각 맞는 파일명에 내용 넣기
      • 각 파일마다 100개씩 똑같은 문구 (ex file1에는 hello world from file1이 백문장)
    • practice completed 출력

    echo "for statements practice3 start"
    mkdir mydir3
    cd mydir3
    
    for a in {1..100}
    do 
        touch file$a.txt 
        for b in {1..100}
        do
            echo "hello world from file$a" >> file$a.txt
        done
    done
    
    echo "practice completed"

쉘 제어문

  • if문(조건문)
    • if [ 조건 ]; then # 조건이 참일 때 실행할 명령 elif [ 다른 조건 ]; then # 첫 번째 조건이 거짓이고 다른 조건이 참일 때 실행할 명령 else # 모든 조건이 거짓일 때 실행할 명령 fi
  • for문(반복문) for 변수 in 항목들; do # 반복할 명령 done

  • 쉘 명령어 스크립트 작성
    • 쉘 명령어를 파일형태로 스크립트로 작성하고 실행하는 것이 가능
    • 파일 확장자 .sh
    • if, else 등 프로그래밍 언어 사용 가능
    • 실행방법
      • 현재 폴더에서 ./my_script.sh
    • 실습1
      • echo를 사용하여 script pratice1 start 출력
      • 새 디렉터리 'mydir' 생성
      • 'mydir'로 이동
      • 'mydir' 안에 빈 파일 'file1.txt'와 'file2.txt' 생성
      • 'file1.txt'에 echo를 사용하여 Hello from file1 메시지 작성
      • 'file2.txt'에 echo를 사용하여 Hello from file2 메시지 작성
      • 'file1.txt'를 'file1_backup.txt'로 복사
      • 'file2.txt'를 file2_renamed.txt로 이름 변경
      • Script completed 문구 출력
    • 실습2
      • 쉘 프로그래밍을 통해 if문을 활용해서 출력해보기
      • 쉘 프로그래밍을 통해 100개의 파일을 만들어보기


Uploaded by N2T

728x90
반응형

'Linux' 카테고리의 다른 글

[Linux] nano, vi 에디터  (1) 2023.11.22
[Linux] 프로세스, 네트워크  (0) 2023.11.22
[Linux] 사용자와 그룹,파일 권한  (0) 2023.11.22
[Linux] 주요 명령어  (1) 2023.11.22
[Linux] 리눅스 환경 구축  (0) 2023.11.22