Linux教程
Linux目录
Linux命令
Linux用户
Linux文件
Linux进程
Linux查询
Linux I/O
Linux正则
Linux安全
Linux shell
Linux网络
Linux VI
Linux 系统命令
Linux 其他

Linux Shell

Linux Shell

可以将Shell定义为Linux/GNU或Unix等操作系统中的命令解释器。它是一个运行其他程序的程序。该Shell程序方便了计算机的每个用户,使其成为Unix/GNU Linux系统的接口。因此,用户可以用少量输入数据执行不同的工具/实用程序或命令。
当Shell程序完成了作为通用输出设备的程序的运行后,Shell程序会将结果通过屏幕发送给用户。这就是为什么它被称为" 命令解释器"的原因。
shell不仅仅是命令解释器。此外,shell是一种编程语言,具有编程语言的完整构造,例如函数,变量,循环,有条件执行以及其他许多条件。
因此,GNU/Unix Linux Shell比Windows Shell更强大。
广泛地,Shell被分为以下两个主要类别:
Linux Shell

图形Shells

这些Shells通过允许诸如移动,关闭,调整大小和打开窗口,以及在窗口之间切换焦点。可以将Ubuntu OS或 Windows OS 视为一个很好的示例,该示例为用户提供了图形用户界面以与程序进行交互。各种用户不需要为所有操作键入任何命令。

命令行Shell

可以借助命令来访问各种Shell。用户的在线界面。在Windows或macOS/Linux的Terminal中提供了一个称为命令提示符的独特程序,用于键入人类可理解的命令,例如" ls"," cat"等,然后运行该程序。结果会在终端上进一步显示给用户。
在命令行shell上工作对于许多初学者来说很复杂,因为很难记住几个命令。命令行Shell程序非常占主导地位,它允许用户将命令存储在文件中并一起运行。以这种方式,重复动作可以容易地自动化。通常,这些文件在macOS/Linux系统中被称为Shell脚本,而在Windows中被称为批处理文件。
有各种类型的Shell,其讨论如下:
Linux Shell

Bash Shell

在 bash shell ,bash表示Bourne Again Shell。它是当今多个Linux发行版的默认Shell。它是sh兼容的Shell。它可以通过Windows OS安装。它促进了sh在交互和编程方面的实际改进,其中包括:
作业控制 命令行编辑 Shell别名和功能 大小不受限制的命令历史记录 以2-64为底的整数算术

Csh/Tcsh Shell

Tcsh是升级的C Shell。此Shell程序可用作Shell程序脚本命令处理器和交互式登录Shell程序。
TcshShell程序具有以下特征:
类似于C的语法 文件名完成和可编程字 命令行编辑器 作业控制 拼写更正

Ksh Shell

Ksh表示 Korn Shell 。它是由 David G. Korn 开发和设计的。就像其他各种GNU/Unix Linux Shell一样,Ksh Shell是一种高级,强大且完整的编程语言,它是一种互惠的命令语言。 C Shell的用法和语法与C编程语言非常相似。

Zsh Shell

Zsh Shell被开发为互惠的,并且结合了各个方面其他GNU/Unix LinuxShell程序,例如ksh,tcsh和bash。另外,POSIX Shell标准规范是基于Korn Shell的。
此外,它是一种强大的脚本语言,与其他可用Shell一样。它的一些独特功能如下:
启动文件 文件名生成 观看登录/注销 概念索引 关闭评论 变量索引 关键索引 函数索引以及我们可以在手册页中找到的各种其他索引。
所有这些shell都执行相似的工作,但是采用不同的命令并促进不同的内置功能。

Fish

Fish代表" 友好的交互式Shell"。它于2005年生产。与其他贝Shell一样,鱼贝Shell的开发使其完全具有用户友好性和交互性。它包含一些好的功能,如下所述:
基于Web的配置 手册页补全 自动建议 对term256终端自动化的支持 完全使用干净的脚本编写脚本

Shell提示符

它被称为命令提示符,它是通过Shell发出的。在显示提示时,我们可以键入任何命令。
Shell在单击Enter后读取我们的输入。它通过查看输入的初始单词来说明我们要运行的命令。可以将一个单词定义为字符的不间断集合。制表符和空格分隔单词。
下面是显示当前时间和日期的常见数据命令示例:
我们还可以借助PS1(环境)自定义命令提示符。

Shell脚本

shell脚本的常见概念是命令列表。一个好的Shell脚本将包含在#simbol之前的注释。
解释Shell函数和脚本。
还有一些条件测试,例如值Y大于值Z,循环使我们能够按海量数据量进行处理,文件用于存储和读取数据以及变量用于存储并读取数据,并且这些脚本可能包含函数。
shell通常是交互式的,这意味着它们通过用户接收命令作为输入并运行它们。尽管有时我们通常希望运行一组命令,但是,我们必须在终端中始终输入命令。
shell脚本包含的语法与其他编程语言类似。当我们具有诸如 C /C++ , Python 等。容易开始。 Shell脚本包含以下组件:
功能
控制流: 如果不是,则为shell循环,大小写等。 Shell命令: 触摸,pwd,echo,ls,cd等。 Shell关键字: 如果可能,则中断,否则,等等。

需要Shell脚本

编写这些Shell脚本有多种原因:
为避免自动化和重复性工作 Shell脚本被系统管理员用于许多常规备份 在shell中包括新功能 系统监视等。

Shell脚本的优势

语法和命令与直接在命令行中输入的语法和命令完全相似。因此,程序员不必切换到完全不同的语法 交互式调试 快速入门 编写shell脚本等要快得多。

Shell脚本的缺点

单个错误可能会修改该命令,这可能是有害的,因此容易造成代价高昂的错误。 语言实现和语法中的设计缺陷。 执行速度较慢。 提供与其他脚本语言不同的最小数据结构。 不太适合复杂和大型任务等。

脚本示例

假设我们创建了一个test.sh脚本。在向脚本中添加其他内容之前,我们必须提醒系统Shell脚本已启动。
注意: 每个脚本都将带有.sh扩展名。
可以在shebang构造的帮助下完成。
例如:
#!/bin/sh
它向系统显示要执行的几个命令将由Bourne shell运行。由于符号#被称为hash和符号!而被称为shebang!
要制作包含这些命令的脚本,我们将shebang构造行放在最前面,然后添加任何命令:
#!/bin/bash
pwd
Is

Shell中的注释

我们可以在下面的脚本中添加注释:
#!/bin/bash
使脚本可运行并保存上面提到的内容:
$chmod +x test.sh
现在,可以运行shell脚本了:
$./test.sh
执行后,我们将得到如下结果:
/home/amrood
index.htm unix-basic_utilities.htm unix-directories.htm
test.sh unix-communication.htm unix-environment.htm
注意: 注意:-用于执行程序在最新目录中,我们可以使用./program_name

扩展的Shell脚本

Shell脚本包含几个必需的构造,这些构造定义了Shell平台的执行时间和操作方式。大多数脚本比上面的脚本更复杂。
毕竟,shell是一种实际的编程语言,其中包含控件结构,变量等。不管脚本多么复杂,仍然只是顺序执行命令列表。
以下脚本正在使用read命令,该命令通过键盘获取输入并将其指定为变量PERSON值并打印最终通过STDOUT。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4