Оболочка GUI для сценариев cygwin?

#cygwin

#cygwin

Вопрос:

Я использую некоторые второстепенные скрипты при работе под cygwin, и я хотел бы сделать их доступными для коллег по работе с помощью знакомого значка Windows. Например, предположим, что у меня есть следующее:

 cat *tsv | sort > combined_n_sorted.txt
 

Есть ли простой способ создать соответствующий значок, предполагая, что cygwin установлен в системах моих коллег? Эти сценарии могут включать python (cygwin).

Спасибо!

Ответ №1:

Кажется, что ваш вопрос состоит из двух частей:

  1. Как сделать скрипты доступными на рабочих столах пользователей.
  2. Как присвоить каждому скрипту определенный значок.

Для (1) вы могли бы создать ярлык на рабочих столах пользователей, который запускает следующую команду:

 C:cygwinbinbash.exe -c 'cat *tsv | sort > combined_n_sorted.txt'
 

или, если команды хранятся в скрипте,

 C:cygwinbinbash.exe -c /path/to/script
 

Если вы хотите скрыть отображение окна консоли во время выполнения скрипта, вы можете использовать run команду (в run пакете), например:

 C:cygwinbinrun.exe /bin/bash -c 'cat *tsv | sort > combined_n_sorted.txt'
# or
C:cygwinbinrun.exe /path/to/script
 

Но, возможно, пользователям было бы лучше видеть окно консоли, чтобы они знали, что скрипт запущен.

Для (2) вы можете изменить значок каждого ярлыка по отдельности, щелкнув по нему правой кнопкой мыши и выбрав Свойства, но AFAIK это изменение для одного хоста за раз. Я не знаю ни одного пакетного способа сделать это, хотя, без сомнения, есть раздел реестра, который вы можете установить. Или, если вы измените значок ярлыка на своем хосте, а затем распространите этот ярлык, он может сохранить тот же значок на рабочих столах других пользователей, если значок является стандартным, который существует на их хостах.

Комментарии:

1. Спасибо, Эндрю! Это выглядит довольно очевидно (сейчас!), Но это сводило меня с ума. Меня, например, не волнует внешний вид значка. Я хотел бы напомнить потенциальным читателям, чтобы они включали в свои скрипты что-то вроде export PATH=/usr/local/bin:/usr/bin:/bin, чтобы избежать разочарования.