使用 shell 脚本获取文件的 md5sum 时权限被拒绝?

使用 shell 脚本获取文件的 md5sum 时权限被拒绝?

我正在运行下面的 shell 脚本,该脚本获取 PRIMARY 目录中文件的 md5sum

#!/bin/bash

export PRIMARY=/data01/primary

for entry in "$PRIMARY"/*
do
    local_md5sum=/usr/bin/md5sum "$entry" | awk '{print $1}'
    echo local_md5sum
done

一旦我运行上面的 shell 脚本并尝试打印出我的文件的 md5sum 值,我总是得到 -

./md5checksum_check_1.sh: line 7: /test01/prime/pp_monthly_1980_58_200003_5.data: Permission denied

但是,如果我尝试在控制台上运行以下命令,那么它工作正常 -

/usr/bin/md5sum /test01/prime/pp_monthly_1980_58_200003_5.data | awk '{print $1}'

我不知道为什么?我做错了什么吗?

答案1

您在这一行中缺少一些语法:

local_md5sum=/usr/bin/md5sum "$entry" | awk '{print $1}'

你需要

local_md5sum=$(/usr/bin/md5sum "$entry" | awk '{print $1}')

没有$(),你正在尝试执行 $entry作为命令。

相关内容