シェルスクリプトでフォルダ権限の確認/変更

シェルスクリプトでフォルダ権限の確認/変更

特定のフォルダにパッケージをダウンロードするスクリプトを作成しています。

しかし、すべてのユーザーがそのフォルダにパッケージをダウンロードし、そこにインストールされているパッケージを使用できることを願っています。どうすればいいですか?

フォルダの権限を確認/変更したいです/usr/local/src。 if/elseステートメントを正しく使用する方法がわかりません。本文では次のとおりです(私の考えでは):if stat/permission of src folder isn't 777 then chmod to 777

ベストアンサー1

stat -c "%a" /usr/local/src完全な権限を取得するために使用できます。ただし、777ではなく1777を考慮する必要があります。

そのように

if [ "$(stat -c '%a' /usr/local/src)" == "777" ]
then
  # something
else
  # something else
fi

他の質問に対する回答として、権限がすでに777の場合は影響はありません。

編集:タイプミスを修正しました。 @Alexej Magura二重括弧を使用するのはなぜですか?私が知る限り、これは算術式に変わります。

おすすめ記事