2014-09-08 17 views
11

Come aggiornare i permessi dei file con git-bash su Windows 7?Aggiornamento dei permessi dei file con git-bash su Windows 7

ho provato la seguente senza successo:

$ ls -al scripts/script.sh 
-rw-r--r-- 1 myUid Administ  70 Sep 8 11:24 scripts/script.sh 

$ git update-index --chmod=+x scripts/script.sh 

$ ls -al scripts/script.sh 
-rw-r--r-- 1 myUid Administ  70 Sep 8 11:24 scripts/script.sh 

$ chmod +x scripts/script.sh 

$ ls -al scripts/script.sh 
-rw-r--r-- 1 myUid Administ  70 Sep 8 11:24 scripts/script.sh 

risposta

27

Probabilmente si sta utilizzando NTFS o FAT32 su Windows, e quei file system non supportano l'eseguibile autorizzazione . Invece, cygwin looks at the file name and contents to determine whether it's executable:

file sono considerati eseguibile se il nome del file termina con bat, .com o .exe, o se il suo contenuto inizia con # !.

Quindi è necessario assicurarsi che il file bash inizia con una shebang (ad esempio #!/bin/bash). Quindi, dovresti essere in grado di eseguire il file, ignorando l'output di autorizzazione di ls.

+0

Che cos'è un 'shebang'? – Black

+2

@EdwardBlack qualcosa come '#/bin/bash', ho chiarito la domanda di conseguenza. – Yogu

+0

Che dire di .CMD? :-) –