Bash 스크립트의 빈 줄은 "찾을 수 없음"을 나타냅니다.

Bash 스크립트의 빈 줄은 "찾을 수 없음"을 나타냅니다.

제대로 작동하지 않는 스크립트가 있습니다. 동일한 스크립트에 대해 질문하고 작동하도록 했습니다.요전. 하지만 이제 동일한 스크립트에서 다른 오류가 발생하는데 그 이유를 모르겠습니다.

다음과 같은 오류 메시지가 나타납니다.

: not foundntstore.sh: 4: restore_eventstore.sh:
: not foundntstore.sh: 6: restore_eventstore.sh:
restore_eventstore.sh: 46: restore_eventstore.sh: Syntax error: end of file unexpected (expecting "then")

내가 달릴 때

sh restore_eventstore.sh 2023-01-04-03-00.tar.gz

스크립트:

#!/bin/bash
# Needs azure cli to work.
# Install command: curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

backup_name=$1

if [ -z "$backup_name" ]
then
    echo "Must supply an file to use in the restore"
    exit
fi

export AZURE_STORAGE_ACCOUNT=stocombackups
export AZURE_STORAGE_KEY=HIDDENFORSTACKOVERFLOW

echo "Downloading backup $backup_name from blob storage"
az storage blob download --container-name node1backups --name $backup_name --file $backup_name

if [ ! -s "$backup_name" ]
then
    echo "Failed to download the backup file $backup_name"
    exit
fi

echo "Stopping the eventstore service"
systemctl stop eventstore

if [ -d eventstore_backup ]
then
    echo "Removing old local eventstore backup"
    rm -rf eventstore_backup
fi
echo "Doing an backup of the current db to eventstore_backup"
mkdir eventstore_backup
cp -r db/* eventstore_backup

echo "Removing the old data from eventstore db directory"
rm -rf db/*

echo "Unpacking the backup $backup_name into the eventstore db directory"
tar -zvxf $backup_name -C db/

echo "Truncate the eventstore data to the latest chaser checkpoint"
cp db/chaser.chk db/truncate.chk

echo "Restore is complete. Start the eventstore service with: sudo systemctl start eventstore"

관련 정보