我有一个依赖于$OSTYPE
变量值的旧脚本。该脚本所期望的是,在 Solaris 上该值为“SunOS”,而在 AIX 上为“AIX”。对于 Linux,它会根据大写值以“LINUX”开头的正则表达式检查变量。
我尝试从 Jenkins 运行此脚本,发现值不同:Solaris 返回“solaris2.11”,而 AIX 返回“aix7.1.0.0”。我echo $OSTYPE
在 Jenkins 运行脚本的完全相同的服务器上运行命令,而我得到的是“SunOS”/“AIX”。
所以我的主要问题是:这种差异的根源是什么(系统如何形成这个变量的值,以及为什么 Jenkins 的值与从 bash 中运行的 echo 不同)。一个附带的问题是哪种是可靠的使用方式$OSTYPE
。