쉘 스크립트를 사용하여 파일의 md5sum을 가져올 때 권한이 거부됩니까?

쉘 스크립트를 사용하여 파일의 md5sum을 가져올 때 권한이 거부됩니까?

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

위의 쉘 스크립트를 실행하고 내 파일의 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명령으로.

관련 정보