Linux
使用 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}'
我不確定為什麼?我做錯了什麼嗎?
您在這一行缺少一些語法:
local_md5sum=/usr/bin/md5sum "$entry" | awk '{print $1}'
你需要
local_md5sum=$(/usr/bin/md5sum "$entry" | awk '{print $1}')
如果沒有
$()
,您將嘗試作為命令執行。$entry