繁体   English   中英

Shell脚本检测在Cygwin中运行

[英]Shell script detecting running in Cygwin

有没有一种简单的方法可以检查脚本是否在Cygwin中运行。 我们有一个脚本调用一个实用程序,它希望传递的路径是windows,所以如果我们在Cygwin中,我们必须将路径转换为windows路径。

您可以使用uname实用程序。 来自uname(1)

-o, - 操作系统
打印操作系统

示例代码:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM