Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
shell vs终端vs命令行vs BASH?_Bash_Shell_Terminal - Fatal编程技术网

shell vs终端vs命令行vs BASH?

shell vs终端vs命令行vs BASH?,bash,shell,terminal,Bash,Shell,Terminal,所以我读了很多书,但仍然感到困惑。BASH是专门用于Unix,而shell、终端和命令行都是“通用术语”吗?例如,如果我说shell,还不能确定我是否特别指的是Linux shell、MacOS shell或其他操作系统的shell,对吗?另一方面,如果我说BASH,那么我只说Unix。正当此外,如果您能深入解释它们之间的关系和细微差别,我们将不胜感激。终端是计算机上的软件应用程序,它接收输入并显示输出 人们通常会错误地交替使用终端和外壳。实际的定义将shell定义为命令行解释器,本质上就是将您

所以我读了很多书,但仍然感到困惑。BASH是专门用于Unix,而shell、终端和命令行都是“通用术语”吗?例如,如果我说shell,还不能确定我是否特别指的是Linux shell、MacOS shell或其他操作系统的shell,对吗?另一方面,如果我说BASH,那么我只说Unix。正当此外,如果您能深入解释它们之间的关系和细微差别,我们将不胜感激。

终端是计算机上的软件应用程序,它接收输入并显示输出

人们通常会错误地交替使用终端和外壳。实际的定义将shell定义为命令行解释器,本质上就是将您提供给终端的输入转换为命令行解释器。所以外壳是终端的一部分

同样,命令行是解释输入的工具,也是shell+终端的一部分。这是文本输入框


Bash是shell的一个示例。您可能在Linux或Mac计算机上见过它。不同的外壳解释不同。

终端是计算机上接收输入并显示输出的软件应用程序

人们通常会错误地交替使用终端和外壳。实际的定义将shell定义为命令行解释器,本质上就是将您提供给终端的输入转换为命令行解释器。所以外壳是终端的一部分

同样,命令行是解释输入的工具,也是shell+终端的一部分。这是文本输入框


Bash是shell的一个示例。您可能在Linux或Mac计算机上见过它。不同的shell解释不同。

我通常使用术语shell来引用任何命令行界面,因此在Windows中,我将DOS提示符称为shell,在MacOS和Linux中,我将bash称为shell。尽管我不认为MacOS版本的bash shell与Unix/LinuxBash的工作原理完全相同

Bash代表Bourne Shell,通常是今天Linux系统中的默认Shell,但Linux中还有大量其他Shell可用,如Korn Shell ksh、Debian Almquist Shell dash和Z Shell zsh等


可以在这里找到shell的比较:

我通常使用术语shell来引用任何命令行界面,因此在Windows中,我将DOS提示符称为shell,在MacOS和Linux中,我将bash称为shell。尽管我不认为MacOS版本的bash shell与Unix/LinuxBash的工作原理完全相同

Bash代表Bourne Shell,通常是今天Linux系统中的默认Shell,但Linux中还有大量其他Shell可用,如Korn Shell ksh、Debian Almquist Shell dash和Z Shell zsh等


可以在此处找到shell的比较:

另请参见、、和。堆栈溢出仅适用于有关编写软件的问题。对于这些术语,没有任何软件开发方面的专门知识。另请参见、、和。堆栈溢出仅适用于有关编写软件的问题。这些术语中没有任何一个是专门针对软件开发的,大部分都是错误的。外壳不是终端的一部分;它是一个单独的程序,其输出在交互使用时通常显示在终端中。命令行是shell提供的一种接口样式,但是有很多程序不是提供命令行的unixshell。不,ls不是bash命令。bash根本不知道ls是什么!它只是一个UNIX程序,通常安装在也安装了bash的机器上;但它的运行方式与任何其他程序相同,无论该程序是否为标准程序、内置程序或通用程序。传统上,终端根本不是软件,而是专用的硬件部件——首先是电传打字机、打印机,它可以将输出与键盘结合在一起进行输入,然后是glass TTYs,这是一种专用硬件,它只在内置屏幕上显示输出并收集输入。它还可以在Linux、MacOS和各种Windows兼容环境(如MinGW和Cygwin)上运行。仅举几个例子……人们通常互换地指终端和外壳。虽然有些人确实可以互换使用这些术语,但这样做是错误的。这应该被重新表述,因为人们经常错误地交替使用终端和外壳。这在很大程度上是错误的。外壳不是终端的一部分;它是一个单独的程序,其输出在交互使用时通常显示在终端中。命令行是shell提供的一种接口样式,但是有很多程序不是提供命令行的unixshell。不,ls不是bash命令。bash根本不知道ls是什么!它只是一个通常安装的UNIX程序
在也安装了bash的机器上;但它的运行方式与任何其他程序相同,无论该程序是否为标准程序、内置程序或通用程序。传统上,终端根本不是软件,而是专用的硬件部件——首先是电传打字机、打印机,它可以将输出与键盘结合在一起进行输入,然后是glass TTYs,这是一种专用硬件,它只在内置屏幕上显示输出并收集输入。它还可以在Linux、MacOS和各种Windows兼容环境(如MinGW和Cygwin)上运行。仅举几个例子……人们通常互换地指终端和外壳。虽然有些人确实可以互换使用这些术语,但这样做是错误的。这应该重新表述,因为人们经常错误地交替使用终端和shell。它基本上是一样的。。。但是对于较旧版本的bash。查看bash-version报告的内容。它基本上是一样的。。。但是对于较旧版本的bash。查看bash版本报告的内容。