シェルスクリプトを使用してファイルの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コマンドで。

関連情報