Bash
Bash
Bash script
실습과제
다음 요구 사항에 따라 Bash 스크립트를 작성합니다.
25개 빈(0 KB) 파일을 생성합니다. (힌트: touch 명령
)
파일 이름은 {yourName}{number}, {yourName}{number+1}, {yourName}{number+2} 등과 같아야 합니다.
실행할 때마다 이미 존재하는 마지막 또는 최대 수로 시작하여 숫자가 늘어나는 25개 파일로 이루어진 다음 배치를 생성하도록 스크립트를 설계합니다.
이러한 숫자는 하드코딩하지 마십시오. 자동화를 사용하여 이를 생성해야 합니다.
스크립트를 테스트합니다. 긴 디렉터리 목록과 해당 콘텐츠를 표시하여 스크립트로 예상 파일이 생성되었는지 검증합니다.
풀이
#!/bin/sh
MYNAME="hankyo"
echo "설정하신 당신의 이름은 "$MYNAME"입니다."
MYNAMELEN=${#MYNAME}
echo "당신의 이름의 길이는 "$MYNAMELEN"입니다."
## 앞으로 나올 숫자들에서 가장 큰 숫자를 담아놓는 변수
MAXNUM=0
## 현재 경로 안에 내 이름으로 시작하는 파일 찾음
ARR=(`find . -name ${MYNAME}"*"`)
echo ${ARR[@]}
for i in ${ARR[@]}
do
echo "이름으로 시작하는 파일 찾았다 "$i
## 이름을 뺀 나머지 문자를 변수 TEMP 에 넣는다
## +2 이유 find로 찾았을 때 파일명앞에 경로인 ./ 가 붙는다.
TEMP=${i:${MYNAMELEN}+2}
echo "이름을 뺀 나머지 문자: "$TEMP
## 이름빼고 숫자만 있는지지 확인하는 if문
echo "나머지 문자가 숫자로만 이루어져 있는가?"
if echo $TEMP | grep -qe "^[-\?[0-9]\+\.\?[0-9]*$"
then
echo "숫자로 이루어져 있네요"
## 가장 큰 숫자를 찾는 if문 TEMP변수가 MAXNUM보다 큰가?
if [ $MAXNUM -lt $TEMP ]
then
echo "큰 숫자를 찾았습니다."
MAXNUM=$TEMP
echo " "
fi
else
echo "숫자가 아닙니다."
echo " "
fi
done
echo "가장 큰 숫자는"$MAXNUM
echo "가장 큰 숫자보다 1큰 숫자부터 시작하여 25개의 파일을 만들겠습니다."
## 1큰 숫자부터 25개를 반복하는 for 반복문
for ((i=$MAXNUM+1; i<$MAXNUM+26; i++))
do
echo $MYNAME$i"파일을 만듭니다."
touch $MYNAME$i
done
'AWS > reStart' 카테고리의 다른 글
AWS re/Start 9일 리눅스 권한 관리 (0) | 2023.09.05 |
---|---|
AWS re/Start 10일: 프로세스 관리, 서비스 관리 (0) | 2023.09.05 |
AWS re/Start 12일 네트워킹 소개, 개념, IP (0) | 2023.09.05 |
AWS re/Start 13일 AWS ec2의 IP 할당, Amazon VPC (0) | 2023.09.05 |
AWS re/Start 14일 TCP/UDP, 주요 프로토콜, 네트워크 관련 명령어 (0) | 2023.09.05 |