【发布时间】:2012-05-09 20:46:02
【问题描述】:
假设我有一个 Web 应用程序,具有某种系统执行功能。我将在这个例子中使用 Ruby。此应用程序可以移植并安装在 Windows 或 Unix 服务器上。如果应用程序使用系统命令,有没有办法区分服务器是什么平台,然后可能会在if 语句中捕获?
理论上是这样的:
os_check = `checkos` # System ticks to execute through the shell
# using fake command
if os_check == 'unix'
# Run Unix Commands
`ls -la`
else if os_check == 'dos'
# Run DOS commands
`dir`
else
puts 'OS not detectable'
end
编辑
我不是专门寻找 Ruby(删除了标签)。那是一个例子。我希望有一个 shell 命令可以在两种环境中执行,并且可以根据操作系统是可变的。我实际上必须用几种语言复制这种功能。很抱歉有任何混淆。
【问题讨论】:
-
@gpojd 否定。不是在寻找仅限 Ruby 的答案。
-
@KyleMacey:你的目标技术是什么?每种语言都可能有自己的检测宿主操作系统的方式;我怀疑是否存在一种普遍适用的技术。
-
@maerics 好吧,我在想一些类似于测试
cd /opt的东西,它只能在 Unix 中工作。甚至ping在两个平台上的响应也不同。