只是想知道 - 是否有一条标准路径尤纳姆是否已安装?例如/usr/bin/uname
或/bin/uname
我问的是惠普,艾克斯,太阳操作系统和红帽Linux
是否存在一条共同的路径,其中所有上述内容都包含尤纳姆? 如果不是,我怎么知道我的脚本在哪个操作系统上执行?
答案1
uname
应该位于您的某个位置,$PATH
其中几乎总是包含/bin
和/usr/bin
。您应该能够依赖执行而uname
无需指定完整路径。
答案2
如果您正在编写通用脚本,并且不确定,则可以在路径名中包含 /usr/bin 和 /bin。那么就没关系了。
答案3
您永远不能指望二进制文件在所有操作系统上都位于特定位置。通常,为了便于移植,您需要指望路径设置正确。但安全程序往往会锁定路径(Perl 的污点模式也会修改路径)。因此,也许可以为脚本用户提供配置要使用的二进制文件的能力。