跳到主要内容

Shell 基础

一、基础知识 💡

1、简单介绍 💬

shell 是一个命令行解释器,作为用户与操作系统内核之间的接口程序。它接收用户输入的命令,对其进行解析和执行,然后返回结果。

系统管理员可以使用 shell 脚本自动执行复杂的重复性任务,从而大大简化他们的工作。

在任何情况下,您都可以通过键入以下内容来查看您正在使用的 shell:echo $SHELL

shell
信息

shell 具有两种主要工作模式:

  • 交互式模式:用户直接在命令行输入命令并立即获得反馈
  • 脚本模式:将一系列命令写入文本文件(Shell 脚本)后统一执行

2、Shell 分类 🗂️

Linux 系统中提供了好几种不同的 shell 命令解释器,如 sh、zsh、bash 等。一般默认使用 bash 作为默认的解释器。

Shell交互特性脚本编写常用场景主要优势
sh较少脚本标准系统脚本、兼容性强轻量、POSIX 兼容性高
bash丰富强大Linux 默认 Shell、通用脚本功能全面、广泛支持
zsh非常丰富较强开发者的交互 Shell 首选自定义性强、插件丰富
ksh中等较强商业系统、兼容性脚本语法强大、功能较全
csh/tcsh较丰富较弱类 Unix 系统、部分开发者类似 C 语言、内建补全功能

3、Shell 脚本 📝

shell 脚本是由 Shell 命令组成的文本文件,按照语法编写相应程序,这些脚本(在增加可执行权限下)不需要编译就能运行,而是通过Shell 解释器直接解释执行。

shell 脚本大体可以分为两类:

  • 系统调用的 shell 脚本,这类 shell 脚本是由系统自动调用的,例如,~/.bashrc是针对特定用户的个人配置,登录时会自动调用,打开任意终端时也会自动调用

  • 用户编写调用的 shell 脚本,这类 shell 脚本是由用户主动创建和调用的

总之,shell 脚本是系统管理和开发人员提高工作效率的重要工具。