不带选项运行时,Unix的bash命令究竟能做什么?

Mar*_*ins 6 unix bash terminal

当您键入bash终端并按Enter时,您会进入一个看起来像交互式bash解释器的地方……据我所知,终端几乎是什么。

唯一可见的区别是命令提示符行显示

bash-3.2$
Run Code Online (Sandbox Code Playgroud)

代替

Marcos-MacBook-Pro-3:Desktop marcoprins$
Run Code Online (Sandbox Code Playgroud)

那么,当您bash没有选项运行时会发生什么呢?

Bry*_*ley 7

简短的答案是,当您在bash提示符下键入“ bash”时,它将启动一个新的bash进程。

Bash是读取命令并执行命令的程序。它可以从文件中读取它们,也可以从交互式提示中键入它们。

当您运行终端时,它只是一个以交互模式运行bash的窗口,可能首先读取一些初始化代码。当您在这些提示之一中键入“ bash”时,它仅启动bash程序的另一个实例(即另一个进程),并在窗口中运行的原始bash程序(进程)内部运行。当退出此新的bash程序时,将返回到原始的bash程序,您可以在其中键入更多命令。

基于一系列原因,提示可能有所不同,其中很多可以使用bash命令行选项进行微调。即使提示看起来相同,您与原始bash的操作过程也不同。


Com*_*uid 0

Bash 在交互时运行 .bashrc(以 开头bash -i),终端模拟器生成的 bash 也是如此。