用于几个不同工作区的启动器?

用于几个不同工作区的启动器?

晚上好。请帮我解释一下这 4 个命令的含义:

  • /bin/sh
  • /bin/dash
  • /bin/bash
  • /bin/nbash

谷歌翻译:

Bonsoir svp 帮助我,并附上这 4 点建议的含义:

  • /bin/sh
  • /bin/dash
  • /bin/bash
  • /bin/nbash

答案1

Bash 是重回重生壳牌,而 Dash 是Debian Almquist Shell。shell 用于通过命令与系统交互。请参阅终端、控制台、Shell 和命令行之间有什么区别?什么是 shell?

/bin/sh是一个行为应符合以下要求的 shellPOSIX 标准。它允许人们编写可以在各种类 Unix 系统上运行的脚本,而不必担心系统是否有 ksh 或 bash 或 zsh 或其他东西。最初/bin/sh伯恩壳牌,但如今,几乎没有人提供 Bourne Shell 作为/bin/sh。每个人都会符号链接/bin/sh到另一个 shell,通常是/bin/bash在 Linux 系统上。Debian 及其后代(包括 Ubuntu)是最大的例外 - 它们符号链接/bin/sh/bin/dash

没有/bin/nbash,但也许你的意思是/bin/rbash。有限制地rbash运行bash。引用手册

下列行为是不允许或不被允许的:

  • 使用内置命令更改目录cd
  • SHELL设置或取消设置、PATHENV或变量的值BASH_ENV
  • 指定包含斜杠的命令名称。
  • 指定包含斜杠的文件名作为内置命令的参数.
  • 指定包含斜杠的文件名作为内置命令-p选项的参数hash
  • 在启动时从 shell 环境导入函数定义。
  • SHELLOPTS在启动时从 shell 环境解析的值。
  • 使用“ >”、“ >|”、“ <>”、“ >&”、“ &>”和“ >>”重定向运算符重定向输出。
  • 使用exec内置命令将 shell 替换为另一个命令。
  • 使用-f-d选项添加或删除内置命令enable
  • 使用enable内置命令启用已禁用的 shell 内置命令。
  • 指定-p内置选项command
  • set +r使用“ ”或“ ”关闭受限模式set +o restricted

读取任何启动文件后都会强制执行这些限制。

相关内容