Questions tagged «standard»

1
POSIX是否保证标准实用程序在PATH中?
在“命令搜索和执行”部分中,POSIX规范指出PATH在找到要执行的实用程序时会进行搜索(某些例外)。规范中是否提到了PATH将初始化为可确保找到所有标准实用程序的值的任何地方? 还是我需要执行以下操作以确保在尝试运行标准实用程序时永远不会出现“找不到命令”错误? PATH=$(command -p sh -c 'printf %s "${PATH}"') (请参阅实用程序的POSIX规范command)
11 path  posix  standard 

2
什么不是特定于外壳的?
在某些答案下,我看到一些建议不要在答案中使用特定于Shell的命令的注释。 我如何知道所有shell中都存在哪些命令,运算符等?有标准清单吗? man builtins给出命令列表。这些是我可以在所有shell中都能使用的可移植shell脚本中唯一使用的命令吗? 内置可以是特定于外壳的吗? Linux的标准是否与其他Unix的标准不同? 语法呢?标点符号,运算符等在某些shell中可以不同吗?

1
检测(从脚本)是否已安装软件的最佳方法是什么?
之前,我对which跨不同平台(Linux与Solaris vx。OS X)的命令输出有所不同感到沮丧,因为不同的外壳也可能会引起问题。 type有人建议将其作为更好的替代方法,但是它的便携性如何? 过去,我写过一些函数来解析输出which并处理遇到的各种用例。它们可以在我使用的所有机器上工作,因此对我的个人脚本来说还可以,但是对于我要发布给他人使用的软件来说,这似乎非常不可靠。 仅举一个可能的例子,假设我必须从脚本中检测bash和zsh在计算机上是否可用,然后使用zsh(如果存在)运行一个命令,如果zsh不存在并且bash足够,则使用bash运行一个命令。版本没有特定错误。该脚本的其余大部分内容可能是Bourne shell或Ruby或其他任何东西,但是必须使用zsh或bash的最新版本来完成这一特定操作(AFAIK)。 我可以指望type可以跨平台使用吗?是否有其他替代方法which可以轻松,一致地回答是否已安装特定软件的问题? (如果您还想提供与我给出的示例特别相关的想法,那很好,但是我主要是在询问一般情况:找出给定机器上是否安装了特定物品的最可靠方法是什么? ?)
9 bash  zsh  standard  which 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.