Shell学习笔记:交互式与非交互式、脚本编程与变量管理

需积分: 8 1 下载量 120 浏览量 更新于2024-07-19 收藏 914KB DOCX 举报
本文档是一份关于Shell学习笔记,记录了作者在2018年1月9日根据网易云课堂上的shell教学视频整理的学习内容。主要涵盖了以下几个方面: 1. **交互式shell与非交互式shell**: - 交互式shell是用户与系统进行实时交互的环境,如bash shell。 - 非交互式shell则通常用于编写脚本,如批处理文件,无需用户的实时输入。 2. **shell脚本文件**: - 使用`#!/bin/bash`作为脚本头部,指定shell解释器为/bin/bash,意味着无需编译即可执行。 3. **shell的发展与分类**: - 历史中,shell经历了多个版本和类型,如bash、sh、ksh等。 - 分类上,shell可大致分为内置命令(Linux内核的一部分)和外部命令(位于文件系统中的可执行程序)。 4. **基本的脚本编程**: - 脚本编程涉及变量的使用,包括用户自定义变量(本地变量)、命令行变量和环境变量。 - 用户自定义变量的命名规则、赋值方式以及访问方法(使用"$"前缀)。 - `unset`命令用于清除变量。 - 特殊变量如`$HOME`(用户家目录)、`$USER`(当前用户)、`$PS1`(提示符)等。 5. **重定向与输出控制**: - 输入重定向 `<`,将标准输入的数据传递给命令。 - 输出重定向 `>` 和 `>>`,分别用于覆盖和追加到文件。 - `echo`命令的转义字符,如`\c`、`\f`、`\n`、`\r`和`\t`,用于控制输出格式。 6. **内建命令与外建命令**: - 内建命令由Linux内核提供,执行速度更快。 - 外建命令是外部程序,需通过shell解析器调用。 通过这份笔记,学习者可以了解到Shell的基本概念、脚本编程技巧、文件操作以及命令行中的常用控制手段。这些知识点对于理解和使用Shell脚本语言至关重要,有助于提高Linux系统管理效率。