chmodはminGW64では動作しませんが、Cygwinでは動作しますか?

chmodはminGW64では動作しませんが、Cygwinでは動作しますか?

win10でいくつかのファイル権限を変更する必要があります。 cygwinではこのコマンドを実行できますが、git bash minGW64では機能しません。理由を説明できる人はいますか?

Cygwin端末の結果:

$ chmod 777 testfile
$ ls -l
total 0
-rwxrwxrwx 1 Jon Domain Users 0 Nov  1 11:57 testfile

しかしmingw64では:

$ touch test
-rw-r--r-- 1 jon 1049089    0 Nov  1 12:17  test
$ chmod 777 test
$ ll
-rw-r--r-- 1 jon 1049089    0 Nov  1 12:17  test

chmodを使用すると、エラーメッセージも表示されません。

chmodが正しく動作するように問題を解決するにはどうすればよいですか?

ベストアンサー1

Cygwin は、Windows のより複雑な ACL を使用して POSIX 基本権限をエミュレートしようとします。ミンウェイはそうではなかった。

しかし、オプションがないわけではありません。 ~からCygwin ドキュメント(両方に影響を与える):

.exe特定の拡張子(、、、)で.com終わるファイルは.lnk実行可能と見なされます。最初の2文字が" #!"、" MZ"、または" :\n"のファイルも実行可能と見なされます。

この:オプションは、必要に応じてファイルに対してもこれを実行できることを意味します。.bat

編集:これがgit bashを使用しているという事実を逃しました。これがgitリポジトリなら、chmodを使う必要はなく、代わりにあなたが欲しいものをgitに直接知らせることができます。

git update-index --chmod=+x setupscript.sh

おすすめ記事