1

Кажется, cygwin считает все файлы исполняемыми:

/tmp> echo "echo abc" > a
/tmp> ls -l a
-rw-r--r-- 1 I063510 Domain Users 9 Apr  9 15:39 a
/tmp> ./a
abc
/tmp> cygcheck -c base-cygwin
Cygwin Package Information
Package              Version        Status
base-cygwin          3.8-1          OK

Я уверен, что это поведение недавно изменилось. Это настраивается так, чтобы я такие файлы не выполнял?

Кажется, я даже помню, что мне пришлось изменить разрешение файла .bat, созданного внутри cygwin, чтобы его можно было запустить из командной строки Windows, но я могу ошибаться.

1 ответ1

0

проблема заключается в отсутствии she-bang, поэтому файл загружается самой оболочкой.
https://en.wikipedia.org/wiki/Shebang_%28Unix%29

$  echo 'echo abc' > a
$ ls -l a
-rw-r--r-- 1 marco Administrators 9 Apr 10 13:28 a
$ ./a
abc

$  echo '#!/bin/bash\recho abc' > a
$ ls -l a
-rw-r--r-- 1 marco Administrators 22 Apr 10 13:29 a
$ ./a
-bash: ./a: Permission denied

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .