我只是对 Unix 环境的逻辑感到好奇。我的印象是 Unix 是一个操作系统,但也是一个外壳。作为一个子集,还有更具体的 shell,例如 Bourne、Bash 和 Korn shell。而这些shell是解释器,有自己的解释脚本的功能,也有ping、pwd等功能?那么贝壳中有贝壳吗?我说的一切都正确吗?
问问题
1596 次
1 回答
1
Unix 操作系统不是外壳。
shell 只是一个程序,通过运行程序和操作数据流,可以轻松地与您的计算机进行交互。
您提到的“功能”是程序,而不是外壳的一部分。
如果需要,您可以从另一个 shell 运行 shell。例如,你在一个 bash 会话中,你想切换到 csh 做某事。您运行csh
并在完成后exit
返回 bash shell。
如果愿意,您可以在 bash 会话中运行另一个 bash 副本。如果您想修改一些环境变量,然后在返回时撤消更改,您可以这样做。
在所有这些情况下,您所做的只是从 shell 运行程序并等待它终止。如果那个程序也恰好是一个 shell,那也没什么特别的。
于 2013-07-21T23:10:05.477 回答