環境構築Develop

git bash(windows)でchmodが効かない件

Windowsのgit bashでは、chmodによる実行権限の付与ができません。
これは、NTFSやFATがそもそも実行権限なる属性をサポートしてないからとのこと。

参考:Updating file permissions with git-bash on Windows 7

git bashでは、これに対処するため、対象ファイルの中身によって実行権限を自動判別します。
git bashが、対象ファイルを実行権限のあるファイルとして判別する条件は下記です(他にもあると思われ。判明したら増やします)

  • 対象ファイルの拡張子がexe/com/lnk
  • 対象ファイルが、シェルスクリプトである(1行目が「#!」で始まる)

因みに、ls上で実行権限なし(644等)の表示でも、
テキストファイルであれば、構わず叩くことで実行可能です(コマンド補完はききません)。

echo 'hogehoge'
$ ls -l hobe.sh
-rw-r--r-- 1 xxxxxxxxxxxxxxxxx hoge.sh ←実行権限無いけど・・・
$ ./hoge.sh
hogehoge ←実行できる

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中