19
ファイルの所有者に実行ビットがbashスクリプトで設定されているかどうかをテストしようとしています。ファイル所有者のアクセス許可を確認する
私は知っていますif [ -x filename ]
ステートメントを実行しているユーザーの実行権限をチェックしますが、所有者がそれを持っているかどうかを知る必要があります。所有者を指定する方法はありますか?
ファイルの所有者に実行ビットがbashスクリプトで設定されているかどうかをテストしようとしています。ファイル所有者のアクセス許可を確認する
私は知っていますif [ -x filename ]
ステートメントを実行しているユーザーの実行権限をチェックしますが、所有者がそれを持っているかどうかを知る必要があります。所有者を指定する方法はありますか?
stat
を使用してファイルのアクセス許可を取得し、別のコマンドで解析して目的の文字を取得することができます。
-rw-rw-r--
EDIT:何かのような
stat -c %A someFile
戻りは、ここに行く:
stat -c %A someFile | sed 's/...\(.\).\+/\1/'
返し-
またはx
のいずれかを所有者が実行している場合。
EDIT 2:完了の便宜上:
if [ `stat -c %A someFile | sed 's/...\(.\).\+/\1/'` == "x" ]
then
echo "Owner has execute permission!"
fi
はとてもうまくいきました。ありがとう – aport002
[$(stat -c%a some-file)!= 600];それから...私が望んでいたものだった。 –
'%a'は素晴らしいフォーマットです。 4番目の文字を取得する簡単な方法は 'stat -c%A someFile |カット-c4'。 –