当前位置: 首页 > 面试题库 >

什么是shell形式和exec形式?

国阳
2023-03-14
问题内容

什么是命令的shell形式和exec形式?
我仔细阅读了几份文档,以明确了解shell形式和exec形式。但是所有人都对我感到困惑。任何人都可以帮助找出这两种形式之间的区别吗?

PS :尽管我在查阅docker文件Instructions(ex: RUN, CMD, ENTRYPOINT)时遇到了这些术语,但我想总体上了解它们之间的区别,而不是在Docker上下文中。


问题答案:

泊坞窗shell语法(这仅仅是一个字符串作为RUNENTRYPOINTCMD)将运行字符串作为参数/bin/sh -c。这为您提供了一个外壳程序,用于将变量,子命令,管道输出,链接命令链接在一起,以及其他方便的外壳程序。

RUN ls * | grep $trigger_filename || echo file missing && exit 1

exec语法只是运行包含的args提供的二进制文件,而没有外壳解析的任何功能。在docker中,您可以使用json格式的数组来表明这一点。

RUN ["/bin/app", "arg1", "arg2"]

exec语法的优点是从启动的进程中删除了shell,这可能会抑制信号处理。使用/bin/sh -cShell语法重新格式化命令可能还会破坏入口点和cmd的串联。



 类似资料:
  • 问题内容: docker RUN和CMD语句的shell形式和exec形式之间有什么区别? 例如: vs: eg2 : vs: 问题答案: Shell窗体和exec窗体之间有两个区别。根据文档,exec形式是首选形式。这是两个区别: exec形式被解析为JSON数组,这意味着您必须在单词而非单引号(’)周围使用双引号(“)。 与shell表单不同,exec表单不会调用命令shell。这意味着正常的

  • 问题内容: 使用C ++进行编译时,我经常会遇到处理“形式参数”的错误消息,例如 我确实了解该错误,也了解b我所定义的函数的参数这一事实。 但是,参数是形式的意味着什么?是否可以有非正式参数? 我确实注意到“形式参数”一词也出现在其他语言中,所以我认为它是一个更通用的术语,不一定特定于C语言家族?某些语言子集支持非正式参数吗? 在看到答案之后,最后一个问题是:那些形式参数和实际参数来自何处?它起源

  • 命令的shell形式和exec形式是什么? 我浏览了几个文档,以便对shell窗体和exec窗体有一个清晰的了解。但在我看来一切都很混乱。有谁能帮忙弄清楚这两种形式有什么区别吗? ps:虽然我在查看docker文件指令()时遇到了这些术语,但我想知道它们之间的一般区别,而不是在docker上下文中。

  • 问题内容: 我目前正在处理Java旧版代码,遇到一个表示形式参数的类,但我不知道为什么。我读到有关C++形式参数的信息,但它使我感到困惑,因为在C ++中它与参数相同(对此确认有疑问),而在我的旧代码中,它是一个类,只有一个私有int成员存储一个数字(及其set和get方法),但老实说,我没有找到 该 声明 的原因 。 问题答案: 在Java和C ++中,形式参数是在方法签名中指定的: 有一个单一

  • 问题内容: 当提交HTML表单而不指定方法时,默认的HTTP方法是什么?GET还是POST? 在HTML标准之间这种行为是否发生过变化? 请尽可能引用W3C标准文档。 问题答案: 是GET。 看一下W3C取代的建议书17.3FORM元素。 摘抄: 好读 HTML表单中的GET和POST方法-有什么区别?

  • 我读过一些关于将Square作为Rectangle类的继承类是不好的做法的文章,说这违反了LSP(Liskov替换原则)。我还是不明白,我用Ruby编写了一个示例代码: 谁能告诉我它出了什么问题?