我正在运行下面的 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
作为命令。