系统相关
首页 > 系统相关> > linux – 所有命令shell脚本都有一个通用名称吗?

linux – 所有命令shell脚本都有一个通用名称吗?

作者:互联网

我经常发现自己需要描述一个可以在所有主要shell解释器上执行的简单Linux命令(ksh,bash,sh),但我不知道如何表明这一点.一些例子是:ls,cd或cp.

为了具体,我想说的是没有特别提到任何shell.在SQL上下文中,这很简单:“SQL”是指所有类型(Oracle,MSSQL等)之间的共享标准.所以似乎相信这个术语是“shell”,但即使它要求你使用更具体的shell标签,暗示没有可行的共享功能.

是否有Unix / Linux命令shell之间所有共享语法的名称,或者它根本不存在?

解决方法:

ls,cd和cp都是POSIX调用utilities的实例.

实用程序可以是外部的(文件系统中的可执行文件)或内置的(shell内部).

一些实用程序既作为regular shell built-in又作为外部实用程序(例如,测试)存在.
另外,有special built-in utilities(例如,.),它们仅在shell内部.

从更广泛的角度来看,您可以将它们称为POSIX / [标准] Unix [命令行]实用程序.

POSIX强制要求what utilities are part of the standard向下滚动到链接页面上的子弹点实用程序.
 (必须存在于构象系统中)以及它们必须支持的具体选项和它们必须表现出的行为.

实际平台通常是其中的超集 – 无论是提供非标准实用程序还是标准实用程序都支持其他非标准选项.

要引用标准化的shell语言语法,您可以使用术语[POSIX] shell command language,尽管经常使用短语sh或/ bin / sh,这是因为类Unix系统上的默认shell只能实现POSIX-强制性功能(仅此而已).

请注意,内置实用程序是特定于shell的概念(与POSIX兼容的shell必须支持POSIX shell语言规范中指定的选项和行为).
当没有涉及shell时,不能(直接)调用它们,例如使用xargs或查找… -exec时.

相比之下,外部实用程序独立于shell存在,即使它们通常是从shell调用的.

标签:linux,shell,unix,terminology
来源: https://codeday.me/bug/20190727/1554721.html