shell 文件的哈希检查

fivyi3re  于 2023-02-24  发布在  Shell
关注(0)|答案(1)|浏览(127)

我有这段代码来检查一个文件是否存在于目录中,但是它退出时说这个文件不存在-

# in another file in the same directory
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
source "${SCRIPT_DIR}/common.sh" # calling the code below
BACKUP_VARS_FILE=${BACKUP_VARS_FILE:-"${SCRIPT_DIR}"/bitbucket.diy-backup.vars.sh}
if [ -f "${BACKUP_VARS_FILE}" ]; then
    source "${BACKUP_VARS_FILE}"
    echo "Using vars file: '${BACKUP_VARS_FILE}'"
else
    error "'${BACKUP_VARS_FILE}' not found"
    bail "You should create it using '${SCRIPT_DIR}/bitbucket.diy-backup.vars.sh.example' as a template"
fi

但该文件确实存在于与common.sh相同的文件夹中,其中代码为.

输出-它甚至不进入if/else块
[![在此输入图像说明][2]][2]
有没有人帮忙?
编辑-变量输出,读取文件(较少)工作-[![在此处输入图像描述][3]][3]

wixjitnu

wixjitnu1#

由于输出是“/bitbucket...",斜杠前面没有任何内容,我认为您的${SCRIPT_DIR}是空的,这使得它查找位于根目录/下的文件。
您的当前目录是/home/ubuntu/backup,可以在其中找到bitbucket.diy-backup.vars.sh,但您的脚本可能查找/bitbucket.diy-backup.vars.sh,而不是/home/ubuntu/backup/bitbucket.diy-backup.vars.sh。请先检查${SCRIPT_DIR}变量。

相关问题