nano automation.sh
#!/bin/bash
# 반복 작업 자동화를 위한 쉘 스크립트
echo "자동화 작업 시작"
# 실제 사용자 홈 디렉터리 경로를 동적으로 설정
USER_HOME=$(eval echo ~${SUDO_USER})
# 파일 생성
touch "$USER_HOME/newfile.txt"
echo "파일 생성 완료: $USER_HOME/newfile.txt"
# 파일 권한 변경
chmod 644 "$USER_HOME/newfile.txt"
echo "파일 권한 변경 완료: 644"
# 패키지 설치 (예: curl)
sudo apt update && sudo apt install -y curl
echo "curl 설치 완료"
echo "자동화 작업 완료"
chmod +x automation.sh
./automation.sh
실행이 제대로 되면
script 실행 한 번으로 여러가지 작업이 가능해진다
(물론 curl은 이미 깔려있다고...)
#!/bin/bash
: Bash 쉘에서 실행할 스크립트임을 명시합니다.touch
: 새 파일을 생성합니다.chmod
: 파일의 권한을 변경합니다.sudo apt install
: 패키지를 설치합니다.반복되는 값은 변수로 관리하여 유지보수성을 높입니다.
#!/bin/bash
FILENAME="/home/username/newfile.txt"
chmod 644 $FILENAME
조건에 따라 작업을 분기 처리합니다.
if [ ! -f "/home/username/newfile.txt" ]; then
touch "/home/username/newfile.txt"
echo "새 파일을 생성했습니다."
else
echo "파일이 이미 존재합니다."
fi
반복 작업을 효율적으로 처리합니다.
for i in {1..5}; do
touch "/home/username/file_$i.txt"
echo "file_$i.txt 생성 완료"
done
#!/bin/bash
# 설치할 패키지 목록
PACKAGES=("curl" "wget" "vim")
echo "패키지 설치 시작"
for pkg in "${PACKAGES[@]}"; do
sudo apt install -y $pkg
echo "$pkg 설치 완료"
done
echo "모든 패키지 설치 완료"