В своем стремлении улучшить свой опыт работы в среде Windows 7 я установил Cygwin и начал использовать mintty в качестве инструмента интерфейса командной строки. Это было приятно и возвращает меня к более продуктивным дням работы в среде Unix.
Однако есть одна досадная вещь: я не могу правильно работать. Пакетные файлы (т. Е. * .Bat) не будут автоматически завершаться в командной строке и не будут отображаться правильно окрашенными при использовании ls --color. Я связал это (я думаю) с тем фактом, что файлы летучих мышей отображаются как rw-r - r--. Я могу сделать что-то вроде ./run_my_batch_file.bat из командной строки, и пакетный файл будет работать правильно, но я должен ввести полное имя файла, иначе автозаполнение не поднимет его.
Я попытался запустить 'chmod 750' (а также различные другие режимы файлов), чтобы изменить командный файл, чтобы он содержал бит 'x', но их биты режима не изменились. Я уверен, что могу объяснить это тем, что я монтирую свои локальные диски с опцией noacl. Вот соответствующая строка из моего fstab:
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
Я вставил 'noacl', потому что без него биты режима файла кажутся испорченными. Вот пример списка без параметра 'noacl'.
-r-x------+ 1 Administrators Domain Users 209K Jul 18 16:46 some.dll
-rwx------+ 1 Administrators Domain Users 867K Aug 22 11:21 binary_filea
-rwx------+ 1 Administrators Domain Users 736K Aug 28 18:02 binary_fileb
-rwx------+ 1 Administrators Domain Users 736K Aug 28 17:43 binary_filec
-rwx------+ 1 Administrators Domain Users 14K Jan 21 2010 cache_00.bak
-r-x------+ 1 Administrators Domain Users 354K Jun 6 22:42 cdb.exe
-rwx------+ 1 Administrators Domain Users 22 Mar 14 08:05 cleanup_scratch_folder.bat
drwx------+ 1 Administrators Domain Users 0 Mar 3 14:59 code
-rwx------+ 1 Administrators Domain Users 1.8K Aug 12 14:34 config.txt
-rwx------+ 1 Administrators Domain Users 52 Aug 28 19:05 console_history
-rwx------+ 1 Administrators Domain Users 3.8M Aug 23 09:46 copy_files.bat
(обратите внимание, что приведенный выше список каталогов взят с моего диска /cygdrive /d - локальной файловой системы NTFS). Это казалось довольно запутанным, поэтому я выбрал опцию «noacl», чтобы получить точные режимы файлов для файлов в моих каталогах.
Последнее замечание - у меня установлен полный пакет завершения bash. Я кратко посмотрел, смогу ли я изменить один из пакетов завершения, чтобы получить хотя бы часть того, что я хочу (это автоматическое завершение пакетного файла), но я не нашел там ничего, что могло бы иметь отношение к делу.
Таким образом, мои вопросы могут правильно изменить режимы файла командного файла, чтобы включить 'x', чтобы я мог получить правильное завершение командной строки bash на них (а также получить правильную раскраску каталогов на них, потому что они исполняемые файлы). Автозаполнение является более важным FWIW.
Благодарю.