정상적으로 작성한 VM Init 스크립트를 통해 VM 생성하였음에도
스크립트 인식을 하지 못하는 경우
bash 쉘은 줄바꿈이 있으면 새로운 명령어로 인식하기에
한줄로 이어쓰거나 역슬래시('\')를 활용
주로 Copy&Paste 오류 또는 형식에 맞지않게 가져오는 경우 발생
#!/bin/bash
# 스크립트 실행 중 오류 발생시 즉시 중단
set -e
# 웹 IDE 초기화를 위한 저장소 URL과 디렉토리, 이미지 이름 설정
REPO_URL="https://github.com/xxx/init-webide.git"
REPO_DIR="init-webide"
IMAGE_NAME="xxx/code-server-xxx"
HOME_DIR="/home/ubuntu"
PROJECT_DIR="${HOME_DIR}/project" # HOME_DIR 변수를 사용하여 경로 설정
# 저장소 클론 및 디렉토리 이동
git clone "$REPO_URL"
cd "$REPO_DIR"
# Docker 설치 스크립트 실행
chmod +x install_docker.sh
./install_docker.sh
# Public IP 업데이트 스크립트 실행
chmod +x update_ip.sh
./update_ip.sh
# Docker 이미지 다운로드
docker pull "$IMAGE_NAME"
# 프로젝트 및 설정 디렉토리 생성
mkdir -p "$PROJECT_DIR"
mkdir -p "${HOME_DIR}/.scp" "${HOME_DIR}/.scpconf"
"${HOME_DIR}/.kube" "${HOME_DIR}/.config" "${HOME_DIR}/.local" # 🔴줄바꿈
# 랜덤 패스워드 생성 및 파일에 저장
PASSWORD=$(openssl rand -base64 12)
echo "Your Web-IDE Password: ${PASSWORD}" >
"${PROJECT_DIR}/env-info.txt" # 🔴줄바꿈
# Docker 그룹 ID 및 패스워드를 환경 변수로 전달하여 컨테이너 실행
DOCKER_GID=$(getent group docker | cut -d: -f3)
PASSWORD=${PASSWORD} # 🔴줄바꿈
docker compose up -d
# 권한 설정 (모든 경로에 HOME_DIR 변수 적용)
chown -R 1000:1000 "$HOME_DIR"
# 콘솔에 패스워드 및 저장 경로 출력 (변수명 오류 수정)
echo "================================================================"
echo " A new password for the Web-IDE has been generated."
echo " Password: ${PASSWORD}"
echo " It has been saved to: ${PROJECT_DIR}/env-info.txt"
echo "================================================================"
echo "Web-IDE setup is complete!"
#!/bin/bash
# 스크립트 실행 중 오류 발생시 즉시 중단
set -e
# 웹 IDE 초기화를 위한 저장소 URL과 디렉토리, 이미지 이름 설정
REPO_URL="https://github.com/xxx/init-webide.git"
REPO_DIR="init-webide"
IMAGE_NAME="xxx/code-server-xxx"
HOME_DIR="/home/ubuntu"
PROJECT_DIR="${HOME_DIR}/project" # HOME_DIR 변수를 사용하여 경로 설정
# 저장소 클론 및 디렉토리 이동
git clone "$REPO_URL"
cd "$REPO_DIR"
# Docker 설치 스크립트 실행
chmod +x install_docker.sh
./install_docker.sh
# Public IP 업데이트 스크립트 실행
chmod +x update_ip.sh
./update_ip.sh
# Docker 이미지 다운로드
docker pull "$IMAGE_NAME"
# 프로젝트 및 설정 디렉토리 생성
mkdir -p "$PROJECT_DIR"
mkdir -p "${HOME_DIR}/.scp" "${HOME_DIR}/.scpconf" "${HOME_DIR}/.kube" "${HOME_DIR}/.config" "${HOME_DIR}/.local"
# 랜덤 패스워드 생성 및 파일에 저장
PASSWORD=$(openssl rand -base64 12)
echo "Your Web-IDE Password: ${PASSWORD}" > "${PROJECT_DIR}/env-info.txt"
# Docker 그룹 ID 및 패스워드를 환경 변수로 전달하여 컨테이너 실행
DOCKER_GID=$(getent group docker | cut -d: -f3) PASSWORD=${PASSWORD} docker compose up -d
# 권한 설정 (모든 경로에 HOME_DIR 변수 적용)
chown -R 1000:1000 "$HOME_DIR"
# 콘솔에 패스워드 및 저장 경로 출력 (변수명 오류 수정)
echo "================================================================"
echo " A new password for the Web-IDE has been generated."
echo " Password: ${PASSWORD}"
echo " It has been saved to: ${PROJECT_DIR}/env-info.txt"
echo "================================================================"
echo "Web-IDE setup is complete!"