Я склав досить повне рішення для цього звідси та інших постів та джерел.
Збережіть як .reg та двічі клацніть, щоб додати до реєстру:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.sh]
@="Shell Script"
[HKEY_CLASSES_ROOT\Shell Script]
@="Shell Script"
[HKEY_CLASSES_ROOT\Shell Script\DefaultIcon]
@="%SystemRoot%\\System32\\imageres.dll,-68"
[HKEY_CLASSES_ROOT\Shell Script\shell]
[HKEY_CLASSES_ROOT\Shell Script\shell\open]
[HKEY_CLASSES_ROOT\Shell Script\shell\open\command]
@="\"C:\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico -t \"%1\" /bin/bash -lc \"cd \\\"$(dirname \\\"$(cygpath -u \\\"%1\\\")\\\")\\\" ; \\\"$(cygpath -u \\\"%1\\\")\\\" %*\""
[HKEY_CLASSES_ROOT\Shell Script\shell\runas]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Shell Script\shell\runas\command]
@="\"C:\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico -t \"%1\" /bin/bash -lc \"cd \\\"$(dirname \\\"$(cygpath -u \\\"%1\\\")\\\")\\\" ; \\\"$(cygpath -u \\\"%1\\\")\\\" %*\""
Для цього використовується C:\cygwin64\bin\mintty.exe
і /bin/bash
, якщо потрібно, змінити шлях на обох клавішах.
Це рішення:
Працює простим подвійним клацанням миші на будь-якому виконаному .sh
файлі.
Запускається з каталогу, в якому .sh
знаходиться файл.
Дозволяє для виконання будь-якої команди , як правило , в PATH
межах .sh
файлу.
Не має проблем з .sh
файлами в шляхах з пробілами.
Дозволяє клацнути правою кнопкою миші -> запустити як адміністратор.
Завершує вікно, коли закінчиться.
Єдиними обмеженнями є те, що параметри передаються неправильно, коли є пробіли, і перетягування та видалення файлу для проходження його шляху, оскільки параметр не працює.