((((((제어구조))))))
[[case문]]
[./case_exam.sh]
#!/bin/bash
echo "메뉴를 선택하세요."
echo "1.파일 생성"
echo "2.파일 삭제"
echo "3.종료"
read choice
case $choice in
1)
echo "파일을 생성합니다."
touch newfile.txt
;;
2)
echo "파일을 삭제합니다"
rm newfile.txt
;;
3)
echo "프로그램을 종료합니다."
exit 0
;;
*)
echo "잘못된 선택입니다.
;;
esac
[[for문]]
[./for.sh]
[name이란 변수안에 a,b,c를 할당해서 출력하는 for문 생성]
#!/bin/bash
for name in aaa bbb ccc
do
echo $name
done
[파일 확인하는 for문 생성]
(check_file.sh)
#!/bin/bash
for file in *.txt
echo $file
done
[숫자를 1부터 10까지 출력하는 for문 생성]
#!/bin/bash
for num in {1..10}
echo $num
done
= seq 도 사용 가능, seq 1 10
[seq 예시]
#!/bin/bash
for num in $(seq 1 5)
do
filename="$[num}.txt"
touch "$filename"
echo "파일 생성: $filename"
done
[[while문]]
(while.sh)
#!/bin/bash
i=1
while [ "$i" -le 10 ]
do
echo "$i"
i=$((i+2))
done
[[로그파일 지속적으로 모니터링하고, 새로운 로그가 추가될 때마다 출력하는 스크립트.]]
(lo.sh)
#!/bin/bash
logfile="/var/log/syslog"
tail -n 0 -F "$logfile" | while read line;
do
echo "새로운 로그: $line"
done
((((((셸 함수))))))
[특정파일안에 특정 확장자 다른 특정 확장자로 바꾸기]
(change.sh)
#!/bin/bash
function change_ext()
{
for file in "$1"/*.$2
do
mv "$file" "${file%.$2}.$3"
done
}
change_ext "work" "txt" "pdf" // "work"를 . 으로 변경시 현재 디렉터리에 가능.
※ $1값에 work폴더 할당, $2값에 txt확장자 할당, $3값에 바꿀 pdf확장자 할당
((((((공유 폴더))))))
sudo mount -t vboxsf ubuntu(폴더이름) 공유
해제하는 방법 : sudo umount 공유
((((((공유 폴더와 마운트 지점))))))
#!/bin/bash
# 공유 폴더 이름과 마운트 지점
share_folder="(공유할 폴더이름)"
mount_point="~/공유"
mkdir -p "$mount_point" #마운트 지점 생성
#공유 폴더 마운트
sudo mount -t vboxsf "$share_folder" "$mount_point"
#마운트 성공 여부 확인
if [ $? -eq 0 ]; then
echo "공유 폴더 '$share_folder'를 '$mount_point'에 마운트 성공"
else
echo "공유 폴더 '$share_folder'를 '$mount_point'에 마운트 실패"
fi
카테고리 없음
[리눅스] 0809
반응형
반응형