Есть ли простой способ проверить, работает ли script в Cygwin. У нас есть script, который вызывает утилиту, которая ожидает, что пути передаются как окна, поэтому, если мы находимся в Cygwin, нам нужно преобразовать пути в пути к Windows.
Shell script обнаруживает запуск в Cygwin
Ответ 1
Вы можете использовать утилиту uname
. Из uname (1):
-o, --операционная система
распечатать операционную систему
Пример кода:
if [ `uname -o` = "Cygwin" ]
then
# Cygwin specific stuff
else
# Other UNIX (Linux, etc.) specific stuff
fi
Ответ 2
Это работает с ksh и bash.
#!/bin/ksh
case "$(uname -s)" in
CYGWIN*) echo This is Cygwin ;;
*) echo This is not Cygwin ;;
esac
Ответ 3
проверить вывод утилиты uname
Ответ 4
Объединение некоторых комментариев и удаление устаревших обратных результатов:
#!/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