![쉘 스크립트를 사용하여 파일의 md5sum을 가져올 때 권한이 거부됩니까?](https://linux55.com/image/56172/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20md5sum%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%98%AC%20%EB%95%8C%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EA%B1%B0%EB%B6%80%EB%90%A9%EB%8B%88%EA%B9%8C%3F.png)
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
명령으로.