Обнаружение запуска сценария оболочки в Cygwin - PullRequest
10 голосов
/ 23 ноября 2010

Есть ли простой способ проверить, работает ли скрипт в Cygwin.У нас есть скрипт, который вызывает утилиту, которая ожидает, что пути, переданные в качестве окон, поэтому, если мы находимся в Cygwin, мы должны преобразовать пути в пути Windows.

Ответы [ 4 ]

15 голосов
/ 23 ноября 2010

Вы можете использовать утилиту uname.От uname (1) :

-o, --operating-system
печать операционной системы

Пример кода:

if [ `uname -o` = "Cygwin" ]
then
    # Cygwin specific stuff
else
    # Other UNIX (Linux, etc.) specific stuff
fi
3 голосов
/ 21 июля 2014

Работает с ksh и bash.

#!/bin/ksh
case "$(uname -s)" in
    CYGWIN*) echo This is Cygwin ;;
    *) echo This is not Cygwin ;;
esac
2 голосов
/ 23 ноября 2010

проверить вывод uname утилиты

1 голос
/ 21 июля 2014

Объединение некоторых комментариев и удаление устаревших обратных ссылок приводит к:

#!/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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...