Есть ли простой способ проверить, работает ли скрипт в Cygwin.У нас есть скрипт, который вызывает утилиту, которая ожидает, что пути, переданные в качестве окон, поэтому, если мы находимся в Cygwin, мы должны преобразовать пути в пути Windows.
Вы можете использовать утилиту uname.От uname (1) :
uname
-o, --operating-system печать операционной системы
Пример кода:
if [ `uname -o` = "Cygwin" ] then # Cygwin specific stuff else # Other UNIX (Linux, etc.) specific stuff fi
Работает с ksh и bash.
#!/bin/ksh case "$(uname -s)" in CYGWIN*) echo This is Cygwin ;; *) echo This is not Cygwin ;; esac
проверить вывод uname утилиты
Объединение некоторых комментариев и удаление устаревших обратных ссылок приводит к:
#!/bin/bash OS_NAME=$(uname -s) OS_NAME=${OS_NAME:0:6} if [[ "$OS_NAME" = "CYGWIN" ]] then # Cygwin specific stuff else # Other UNIX (Linux, etc.) specific stuff fi