第9章 shell程序设计1
数据结构第九章

i 1 i 1 n 1 n 1
140-14
平均情况下排序的时间复杂度为 o(n2)。 直接插入排序是一种稳定的排序方法。
折半插入排序 (Binary Insertsort)
基本思想是 : 设在顺序表中有一 个元素序列 V[0], V[1], …, V[n-1]。其中, V[0], V[1], …, V[i-1] 是已经排好序的元素。在插入V[i] 时, 利 用折半搜索法寻找V[i] 的插入位置。
折半插入排序的算法
#include "dataList.h"
140-15
插入排序 (Insert Sorting)
基本方法是:每步将一个待排序的元素,按其 排序码大小,插入到前面已经排好序的一组元 素的适当位置上, 直到元素全部插入为止。
直接插入排序 (Insert Sort)
基本思想是 : 当插入第i (i≥1) 个元素时,前面 的V[0], V[1], …, V[i-1]已经排好序。这时,用 V[i]的排序码与V[i-1], V[i-2], …的排序码顺序 进行比较,插入位置即将V[i]插入,原来位置 上的元素向后顺移。
140-11
直接插入排序的算法
#include "dataList.h" template <class T> void InsertSort (dataList<T>& L, int left, int right) { //依次将元素L.Vector[i]按其排序码插入到有序表 //L.Vector[left],…,L.Vector[i-1]中,使得 //L.Vector[left]到L.Vector[i]有序。 Element<T> temp; int i, j; for (i = left+1; i <= right; i++) if (L[i] < L[i-1]) { temp = L[i]; j = i-1;
数据结构教程 第九章 排序

9.2.3 希尔排序
3.算法
void ShellSort() { gap=n/2;//初次增量取序列元素个数n的一半为步长 while(gap>0) { for(i=gap+1;i<=n;i++) { j=i-gap; while(j>0) { if(r[j]>r[j+gap]) { x=r[j];r[j]=r[j+gap];r[j+gap]=x; j=j-gap; }//对子序列作直接插入排序 else j=0; } } gap=gap/2;}//每次减半,直至步长为1 上一页 }
上一页
下一页
9.3 快速排序法
9.3.2 快速排序
3【例9-5】对数据序列:70, 75, 69, 32, 88, 18, 16, 58进行快速排序如图9-3所示。 4.算法
void QuickSort(int low, int high)//递归形式的快速排序 { int pivotpos; if(low<high) { pivotpos=Partition(low,high); QuickSort(low,pivotpos-1);//对低子表递归排序 QucikSort(pivotpos+1,high);//对高子表递归排序 } }
9.2 插入排序
9.2.2 二分插入排序
3.算法
void BinsSort() { for(i=2;i<=n;i++) { r[0]=r[i];low=1;high=i-1;//将r[i]暂存到r[0] while(low<=high) //在r[low..high]中折半查找有序插入的位置 { m=(low+high)/2;//折半 if(r[0].key<r[m].key) high=m-1;//插入点在低半区 else low=m+1;//插入点在高半区 } for(j=i-1;j>high+1;--j) r[j+1]=r[j];//记录后移 r[high+1]r[0];//插入 } 上一页 下一页
嵌入式课后习题答案

第八章
一、填空题。
1、Makefile、配置文件、配置工具。
2、配置命令解释器、配置用户界面。
arch:arch目录包括了所有和体系结构相关的核心代码。include:include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下;init:init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件;mm:mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下;drivers:drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound;ipc:ipc目录包含了核心进程间的通信代码;modules:modules目录存放了已建好的、可动态加载的模块;fs:fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录;Kernel:Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下;net:net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面;lib:lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下;scripts:scripts目录包含用于配置核心的脚本文件;documentation:documentation目录下是一些文档,是对每个目录作用的具体说明。
(完整版)大数据技术原理与应用林子雨版课后习题答案

第一章1.试述信息技术发展史上的3次信息化浪潮及具体内容。
2.试述数据产生方式经历的几个阶段答:运营式系统阶段,用户原创内容阶段,感知式系统阶段。
3.试述大数据的4个基本特征答:数据量大、数据类型繁多、处理速度快和价值密度低。
4.试述大数据时代的“数据爆炸”的特性答:大数据时代的“数据爆炸”的特性是,人类社会产生的数据一致都以每年50%的速度增长,也就是说,每两年增加一倍。
5.数据研究经历了哪4个阶段?答:人类自古以来在科学研究上先后历经了实验、理论、计算、和数据四种范式。
6.试述大数据对思维方式的重要影响答:大数据时代对思维方式的重要影响是三种思维的转变:全样而非抽样,效率而非精确,相关而非因果。
7.大数据决策与传统的基于数据仓库的决策有什么区别答:数据仓库具备批量和周期性的数据加载以及数据变化的实时探测、传播和加载能力,能结合历史数据和实时数据实现查询分析和自动规则触发,从而提供对战略决策和战术决策。
大数据决策可以面向类型繁多的、非结构化的海量数据进行决策分析。
8.举例说明大数据的基本应用答:9.举例说明大数据的关键技术答:批处理计算,流计算,图计算,查询分析计算10.大数据产业包含哪些关键技术。
答:IT基础设施层、数据源层、数据管理层、数据分析层、数据平台层、数据应用层。
11.定义并解释以下术语:云计算、物联网答:云计算:云计算就是实现了通过网络提供可伸缩的、廉价的分布式计算机能力,用户只需要在具备网络接入条件的地方,就可以随时随地获得所需的各种IT资源。
物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人类和物等通过新的方式连在一起,形成人与物、物与物相连,实现信息化和远程管理控制。
12.详细阐述大数据、云计算和物联网三者之间的区别与联系。
第二章1.试述hadoop和谷歌的mapreduce、gfs等技术之间的关系答:Hadoop的核心是分布式文件系统HDFS和MapReduce,HDFS是谷歌文件系统GFS的开源实现,MapReduces是针对谷歌MapReduce的开源实现。
第2章 shell及常用命令

• 通配符
通配符* :匹配任意字符或字符串 通配符? :匹配任意一个字符
17
字符组模式:通配符“[”、“]”、“-”用于构成 字符组模式。 • [ ]将字符串括起来,表示匹配字符组中的任 意一个 • -表示字符范围,如[a-m] • 当-处于[]外面,或者?,*处于[]里面,将失效 转义字符\ • 当-处于[]里面,或者?,*处于[]外面,希望它 们失效,可在前面加上\,使其变为普通字符
14
/
etc var
root bin boot
sbin mnt
usr home
15
• 特殊目录: “.”代表该目录自己, “..”代表该 目录的父目录,对于根目录,“.”和“..”都 代表其自己。 • 工作目录:用户登录到Linux系统后,每时 每刻都处在某个目录之中,此目录被称为 “工作目录” 或“当前目录” • 用户主目录(Home Directory):是系统管 理员在增加用户时为该用户建立起来的目 录,每个用户都有自己的主目录。 使用符 号~表示。
4
shell
• shell俗称壳(用来区别于核),是指“提供使用 者使用界面”的软件(命令解析器)。 • 传统意义上的shell指的是命令行式的shell • shell负责解释用户输入的每一条命令,是一个命 令解释器作,它交互式解释和执行用户输入的命 令或者自动地解释和执行预先设定好的一连串的 命令; • shell还可以作为程序设计语言,它定义了各种变 量和参数,并提供了许多在高阶语言中才具有的 控制结构,包括循环和分支。
如,lily用户的主目录为/home/lily,则命令 ls ~/files 和 ls/home/lily/files相同
16
• 路径是指从树型目录结构中的某个目录到 某个文件的一条道路。此路径的主要构成 是目录名称,中间用“/”分开。
linux教程第三版课后答案

linux教程第三版课后答案【篇一:linux张同光版课后习题答案】gnu的含义是(国际性的源代码开放)。
(2)linux的版本号分为:(内核版本)和(发行版本)。
(3)安装linux时最少需要三个个分区,分别是(boot分区)和(根分区)和(swap分区)。
(4)linux默认的系统管理员帐号是(root)。
(5)如果linux启动后进入命令行模式,要进入gui,可执行(init5)命令。
(6)rhel6.2默认的系统引导工具是(grub)。
(7)grub的用户界面有三种:(菜单模式)、(菜单编辑模式)和(命令行模式)。
(8)grub的默认菜单文件menu.lst其实是(grub.conf)文件的符号链接。
(9)硬盘的第0柱,第0面,第1扇区,这个扇区叫做(mbr)。
(10)mbr由三部分组成:(主引导程序)、(硬盘分区表dpt)和(硬盘有效标志)。
(11)内核的分类:(单片型内核)、(模块型内核)。
(12)(初始化内存映像盘)称为初始化内存盘,为系统提供一系列内核映像无法提供的模块,这些模块对正确引导系统非常重要。
(13)在内核加载完毕、进行完硬件检测与驱动程序加载后,此时主机硬件已经准备就绪了,这时候内核会启动一号进程(/sbin/init)。
(14)rhel6系统上,文件(etc/inittab)只能设置运行级别。
(15)(etc/rc.d/init.d)文件是在系统启动最后一个被读取的用户自定义启动脚本文件。
(16)操作系统为用户提供了两种接口,分别是(命令界面)和(程序界面)。
(17)命令接口演化为两种主要形式,分别是(命令行界面)和(图形用户界面)。
(18)linux中的两个主要的桌面环境是(kde)和(gnome)。
(19)输入重定向符是()。
(20)输出重定向符是()和()。
(21)错误输出重定向符是(2)和(2)。
(22)管道符是(|)。
(23)vim拥有5种编辑模式:(命令模式)、(输入模式)、(末行模式)、(可视化模式)和(查询模式)。
嵌入式Linux操作系统智慧树知到答案章节测试2023年山东交通学院
第一章测试1.嵌入式系统中硬件层主要包含了嵌入式系统重要的硬件设备:()、存储器(SDRAM、ROM等)、设备I/O接口等。
A:单片机B:嵌入式控制器C:嵌入式处理器D:集成芯片答案:C2.下面哪项不是嵌入式系统的特点()A:代码尤其要求高质量、高可靠性B:面向特定应用C:软件一般都固化在存储器芯片或单片机本身中,而不存储于磁盘中D:具备二次开发能力答案:D3.20世纪90年代以后,随着系统应用对实时性要求的提高,系统软件规模不断上升,实时内核逐渐发展为(),并作为一种软件平台逐步成为目前国际嵌入式系统的主流。
A:分时多任务操作系统B:实时多任务操作系统C:实时操作系统D:多任务操作系统答案:B4.采用下列哪项更有利于开发微型嵌入式应用系统()A:c/汇编B:html/xml语言C:c++/sql语言D:脚本程序语言答案:C5.下面哪项为一般嵌入式系统开发中不具备的环节()A:数据库设计B:嵌入式硬件开发C:系统总体开发D:嵌入式软件开发答案:A6.由于其高可靠性,在美国的火星表面登陆的火星探测器上也使用的嵌入式操作系统是()A:palmB:linuxC:VxWorks答案:C7.嵌入式系统设计过程中一般需要考虑的因素不包括()A:大小B:功耗C:性能D:价格答案:A8.嵌入式系统是指用于执行独立功能的专用计算机系统,包括微处理器、定时器、微控制器、存储器、传感器等一系列芯片与器件,并与嵌入在存储器中的操作系统、控制应用软件,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动化处理任务。
( )A:错B:对答案:B9.一个游戏手柄可以叫做嵌入式系统. ( )A:对B:错答案:A10.Ubuntu的目标在于为一般用户提供一个最新、稳定、免费和易用的操作系统,每个18月发布一次新版本。
()A:对B:错答案:B第二章测试1.使用 tar 命令时压缩选项组合是()A:-xvfB:-xafC:-cvfD:-caf答案:C2.gzip 命令的功能是()A:查看B:备份C:压缩D:解压答案:C3.比较文件的差异要用到的命令是()。
Web程序设计(第4版)-第5章
5.1 脚本语言JavaScript
5.1.2 JavaScript语言概述
• JavaScript是一种嵌入在HTML文件中的脚本语言,它 是基于对象和事件驱动的,能对诸如鼠标单击、表单输入、 页面浏览等用户事件做出反应并进行处理。 • JavaScript特点:
var str;
/*声明变量str*/
num1=10;
/*说明num1为整型,并将其值赋为10*/
num2=3.02e10;
str1="欢迎您";
《Web程序设计》(第4版),电子工业出版社,2015,ISBN:9787121260360
5.1 脚本语言JavaScript
5.1.3 JavaScript编程基础
5.1 脚本语言JavaScript
5.1.3 JavaScript编程基础
4.运算符和表达式
• 算术运算符。算术运算符的操作数和结果都是数值型值。算术运算符 及位运算符可与赋值运算符结合形成简记形式
赋值运算符简记形式表
运算符 操 作
+
加法
*
乘法
%
取模
--
递减
运算符 -(双目) / ++ -(单目)
• 传统脚本语言常用来编写执行一次性任务,通常以文本(如 ASCII)保存,只在被调用时进行解释或编译。
• 而现在脚本和传统编程语言之间的界限越来越模糊。在一些 脚本语言中,有经验的程序员可以进行大量优化工作。
• 本章所讨论的脚本语言是指用于Web页面及程序设计的脚本 语言,它们通常是嵌入式(嵌入到HTML文件中)的、具有解 释执行的特征。
Unix & Linux 大学教程(第09章)
第9章 文档资料:Unix 手册与Info
本章需要解决的几个问题
两个基本的Unix文档资料系统分别是什么?使 用什么命令访问? 阅读说明书页时,怎么输入一条单独的shell命 令? 查看info节点时,使用哪条命令显示帮助向导? 显示命令摘要列表?显示下一屏? 如何显示正在使用的计算机的名称?操作系统 的名称?用户标识?在节点间进行跳转?
9.12 快速查询命令作用的方法
使用方式 $ whatis time date date (1) - print or set the system date and time time (1) - run programs resource usage
9.12 快速查询命令作用的方法
为什么whatis比man快? whatis搜索的不是说明书页,而是一些特殊的文 件,这些文件中收集了说明书页中的NAME节的 单行描述信息。
9.5 显示说明书页
阅读说明书页时的重要命令
9.5 显示说明书页
阅读说明书页时的重要命令
9.5 显示说明书页
阅读说明书页时的重要命令
9.5 显示说明书页
阅读说明书页时的重要命令
9.6 两个有用的说明书页技术
技术1:在GUI界面下,启动多个Terminal窗 口,其中一个运行man 技术2:在阅读说明书页时,输入一个!,可 以在它之后输入一条shell命令,shell将运行 这条命令。 如:!date<Return>
9.1 Unix传统与自学
Unix的帮助形式 - 创建一种联机手册,内置在Unix中 - 建立一个工作环境,在这个环境中解决问题: 1. 首先尽力自己解决,无法解决再问别人 2. 乐于助人
linux课后习题答案教材课后习题参考答案
第 1 章Linux 概况一、选择题1、下列哪个选项不是Linux 支持的?A. 多用户B. 超进程C. 可移植D. 多进程2、Linux 是所谓的“Free Software”,这个“Free”的含义是什么?A. Linux 不需要付费B. Linux 发行商不能向用户收费C. Linux 可自由修改和发布D.只有Linux 的作者才能向用户收费3、以下关于Linux 内核版本的说法,错误的是?A. 依次表示为主版本号.次版本号.修正次数的形式B. 1.2.2 表示稳定的发行版C. 2.2.6 表示对内核2.2 的第6 次修正D. 1.3.2 表示稳定的发行版4、以下哪个软件不是Linux 发行版本?A. 红旗 Server 4B. Solaris 10C. RedHat 9D. Fedora 85、与Windows 相比Linux 在哪个方面相对应用得较少?A. 桌面B. 嵌入式系统C. 服务器D. 集群A6、Linux 系统各组成部分中哪一项是基础?A.内核 B. X Window C. Shell D. GnomeB7、Linux 内核管理不包括的子系统是哪个?A. 进程管理系统B. 内存管理系统C. 文件管理系统D. 硬件管理系统A8、下面关于Shell 的说法,不正确的是哪个?A. 操作系统的外壳B. 用户与Linux 内核之间的接口C. 一种和C 类似的高级程序设计语言D. 一个命令语言解释器B9、以下哪种Shell 类型在Linux 环境下不能使用?A.B ShellB.K ShelC.R ShellD.Bash10、在Linux 中把声卡当作何种设备?A. 字符设备B. 输出设备C. 块设备D. 网络设备二、填空题1、Linux 采用 LRU 算法(最近最少使用)算法,淘汰最近没有访问的物理页,从而空出内存空间以调入必须的程序段或数据。
2、之所以Linux 能支持多种文件系统的原因是,Linux 采用虚拟文件系统技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统会自动设置一些变量,这些变量的值决定了 用户的工作环境和外观,因此被称为环境变量。 说明
习惯上,环境变量的变量名用大写字母表示。 环境变量一般在用户登陆时由系统设置,也可以在 用户登录后自行设置,当用户注销后,环境变量也 随之清除。 如果想永久改变,则应将这些变量放 到.bash_profile文件中。
以字母或下划线开头 由字母、数字、下划线组成 变量名区分大小写
变量赋值
格式
变量名=字符串 赋值号两边不能有空格
注意:
引用变量值
变量名前面加$符号
9.4.2 用户定义的变量
说明
如果值中包含空格,则必须用括号括起来。 shell默认将任何赋给变量的值都解释为字符串。
9.4.2 用户定义的变量
9.3.1 通配符
4.
惊叹号(!)
功能
如果在方括号内,表示不匹配括号内所限定的任何 单个字符 file[!23].c //不匹配文件:file2、file3 file[!2-4] //不匹配文件:file2、file3、file49.3.2 引号源自双引号(")
用来消除元字符的特殊含义 用来消除元字符的特殊含义 命令替换
9.1 shell概述
9.1.1 shell的特点 9.1.2 shell的类型 9.1.3 shell脚本的建立和执行
9.1.1 shell的特点
组合新命令 提供了文件名扩展字符--通配符 可以直接使用shell的内置命令 结构化的程序模块 提供了在后台执行命令的能力 提供了可配置的环境 提供了一个高级的命令语言--shell脚本
将shell脚本的权限设置为可执行,直接执行
chmod a+x ex1 PATH = $PASH : . ex1 chmod a+x ex1 ./ex1
形式二:
9.1.3 shell脚本的建立和执行
例:带控制结构的shell程序。
9.2 shell实用功能
命令自动补全 命令历史记录 命令别名
9.2.1 命令自动补全
功能
输入目录名或文件名或命令名的开头部分,然后 按tab键。Linux根据输入的字母查找这些字母开 头的目录/文件,自动补全剩余部分。
9.2.2 命令历史记录
显示历史命令
语法格式
history [选项] [参数]… $ history $ history 5 可以使用键盘上的方向按键,重复过去用过的命令: “”键,“”键
date>>file1
9.3.3 输入/输出重定向
输入重定向(<)
让命令从指定文件中取得输入数据。
bash<cmds wc<fileinfo
here文档(<<)
”<<”操作符后面的输入用一个分隔符开始,用同 样的另一个分隔符结束。两个分隔符之间的内容 就是要执行的命令的输入。
9.3.4 注释、管道符、后台命令
注意
9.3.6 复合命令
二者区别
{ }形式只在本shell内执行命令表,不产生新的进 程;而()形式在新的子shell内执行,要建立新 的子进程。
9.4 shell变量和算术运算
环境变量 用户定义的变量 数组 位置参数 特殊变量 算术运算
9.4.1 环境变量
环境变量
单引号(')
倒引号(`)
元字符
指的是在Shell中有特殊含义的字符。
<>|;!?*[]$\"'`~(){}^
9.3.2 引号
双引号
由双引号括起来的字符(除$、倒引号(`)和转 义字符(\)外)均作为普通字符对待。 双引号保留空白字符(空格、制表符、换行符)
9.3.2 引号
单引号
注释(#)
shell程序中以“#”开头的正文行表示注释。
#! /bin/bash 说明该脚本是用Bourne Again shell编写的,
9.3.4 注释、管道符、后台命令
管道符(|)
前一个命令的输出是下一个命令的输入。 格式:
command1 | command2 |... | commandn ls -l | more ls -l | grep ‘^d’ ps | sort > passort
位置参数
在shell程序中按照命令行中的位置决定的变量。 位置变量用于存放那些传递给命令行上shell脚本 的参数。
变量 含义 $0 表示命令名或脚本文件名 $1 $2 ... $9 第1个到第9个命令行参数
命令行参数与位置变量的对应关系:
exam m1 m2 m3 m4 …
$0
$1
$2
$3
9.1.3 shell脚本的建立和执行
shell脚本的建立
建立shell脚本的步骤同建立普通文本文件的方式 相同; 其中包含将由shell执行的命令序列。
9.1.3 shell脚本的建立和执行
shell脚本的执行
以脚本名作为bash参数
形式一:bash 脚本名 [参数] 形式二:. 脚本名 [参数] 形式一:
9.4.1 环境变量
常用的环境变量
名称 HOME LOGNAME MAIL 用户的登录名 系统信箱的路径 用途 用户主目录的路径名
PATH
PS1 PWD
命令搜索路径,以冒号作为分隔符
主命令提示符 当前的工作路径
SHELL
TERM HISTFILE HISTSIZE
shell的路径名
当前登陆的终端类型 命令历史文件 命令历史最多可包含的命令条数
说明
一个变量的值可以作为某个长字符串中的一部分。 如果变量出现在长字符串的开头或中间。为了避 免混淆,应该用花括号将该变量名括起来。
9.4.2 用户定义的变量
set命令
可以查看当前使用的shell变量 格式
set
unset命令
删除不需要的变量 格式
unset 变量名
9.4.4 位置参数
格式
说明:
若不指定n的值,则系统默认n为1。
ex7 $0 a $1 b $2 c $3 d $4 e $5 f $6
命令 原位置参数
shift后位置参数
$0
$1
$2
$3
$4
$5
9.4.4 位置变量
shift命令
例子
9.4.4 位置变量
set命令
为位置变量赋值。
9.4.5 预先定义的特殊变量
9.1.2 shell的类型
Bourne shell(sh)
由Bell实验室的Steven Bourne为UNIX开发 是UNIX的默认shell 是其他shell的开发基础
C shell(csh)
加州伯克利大学的Bill Joy为BSD UNIX开发 C shell与Bourne shell不兼容
9.2.3 命令别名
取消别名
格式
unalias name $ unalias h unalias命令可以在一个命令中同时取消多个别名的 定义
例子
说明:
9.3 shell特殊字符
通配符 引号 输入/输出重定向 注释 管道操作符 后台命令 命令操作符
9.3.1 通配符
格式
说明:
9.4.7 算术运算
expr命令
功能
处理整数运算 expr命令将参数作为表达式,进行计算 expr可以使用的操作符有“+、-、*、/、%”等。 expr 算术表达式 表达式的元素之间必须有空格。
9.1.2 shell的类型
Korn shell(ksh)
Bell实验室的David Korn开发的 集合了C shell和Bourne shell的优点,与sh完全 兼容
Bourne Again shell(bash)
自由软件基金会为GNU计划开发的shell Linux系统中默认的shell 与sh完全兼容
第九章 shell程序设计
Shell:在核心外覆盖的一层外壳,用来 解释用户输入的指令。 命令解释器 程序设计语言
主要内容
9.1 shell概述 9.2 shell实用功能 9.3 shell特殊字符 9.4 shell变量和算术运算 9.5 输入/输出命令 9.6 程序控制结构 9.7 函数和内置命令 9.8 shell脚本测试
9.4.1 环境变量
常用的环境变量
转义字符 \$
含义 显示一个$符号,如果当前用户是root则显示#符号
\h
\s \u
显示运行该shell的计算机主机名
显示正在运行的Shell的名称 显示当前用户的用户名