-
目标
(1)看懂shell程序
(2)编写简单shell程序管理集群、提高开发效率 -
概述
其中shell流程控制、shell工具(cut、sed、awk、sort)为重点,shell是一个命令行解释器,它接收来自外层应用程序/用户命令,然后调用操作系统内核,从而控制硬件。
shell易编写、调试、灵活。
原理:若想实现硬件某些功能,需要Linux内核这个软件程序去驱动硬件工作,如硬件显示器等各种驱动程序,外层应用程序中含各种app,需要操作shell才能操作Linux内核。
- 六种shell解析器如下
解析shell脚本六种,shell脚本以**.sh**结尾 - 系统默认解析器
echo $SHELL //系统变量 /bin/bash //不指定解析.sh文本,默认bash03 Shell脚本入门
- 一、脚本格式
脚本以#!/bin/bash开头(指定解析器) - 二、第一个Shell脚本:helloworld
(1)目标:创建一个Shell脚本,输出helloword
echo "helloworld" //命令打印字符串"helloworld" helloworld //输出
把helloworld放到脚本中输出
cd //切换目录 pwd /home/abc //当前为家目录 mkdir datas //创建一个名为datas的文件夹,脚本放入datas中 cd datas/ //切换到datas文件夹 pwd //打印当前所处的工作目录,始终以绝对路径方式打印,即从根目录(/)开始到当前目录的完整路径 /home/abc/datas //当前所在目录 touch helloworld.sh //创建一个shell脚本,touch创建一个空文件 vim helloworld.sh //?进入到一个环境?
在指定解析器下,echo打印字符串"helloworld dahaihaige"
脚本写入,执行脚本
sh helloworld.sh //用sh命令执行shell脚本 helloworld dahaihaige //echo的打印结果 bash helloworld.sh //用bash命令执行shell脚本,相对路径,截图中用绝对路径执行shell脚本 helloworld dahaihaige
(2)脚本常用执行方式:
第一种:采用bash或sh+脚本的相对路径或绝对路径,不用赋予脚本+x权限。
第二种:采用输入脚本的绝对路径或相对路径执行脚本,必须具有可执行权限+x。
1.首先要赋予helloworld.sh脚本的+x权限
赋予用户读、写、执行权限。
2.执行脚本:相对路径、绝对路径两种
第一种执行方法本质是bash解析器帮你执行脚本,脚本本身不需要执行权限;第二种执行方法本质是脚本需要自己执行,所以需要执行权限。
注1:
(1)echo打印变量的值或字符串
(2)打印字符串时需要记录到文本文件中,需要>和>>命令。
(3)touch a.txt新建一个文本文件a.txt
echo hello > a.txt //a.txt中会记录下hello,若再次执行此命令会覆盖之前的hello,需要>>命令来追加 echo world >>a.txt //a.txt中记录的是hello word,但hello和world不在一行,每个单词占用一行
注2:touch与mkdir的区别
1.mkdir 目录名 //创建目录文件,可以连续创建
mkdir test1 mkdir test2 test3 test4
mkdir -p 可以用嵌套方式创建目录文件
mkdir -p(目录名1)/(目录名2)/(目录名3)
mkdir -p test/test1/test2 cd test //切换到test目录文件中 ls //列出目前工作目录所含文件及子目录 test1 //打印结果,test1嵌套在test目录文件中 cd test1 //切换到test1目录文件中 ls //列出test1中所含文件及子目录 test2 //test2嵌套在test1目录文件中
2.touch创建一个文本文件
touch 文件名
touch play //创建一个名为play的文件 ls play
若创建的文本文件名重复,则touch会修改文件的时间戳
- 三、第二个Shell脚本:多命令处理
(1)目标:
在/home/atguigu/目录下创建一个banzhang.txt,在banzhang.txt文件中增加“I love cls”。
(2)实操:
思路——创建一个脚本,先进到’/home/atguigu/'目录,在此目录下创建’banzhang.txt’文件,再添加字符串。
touch batch.sh //多个命令处理 vim batch.sh //在vim编译器中写入脚本 ~ //进到编写脚本界面 #!/bin/bash //脚本以bash解析器开头 cd /home/atguigu/ //进入到这个目录下 touch banzhang.txt //在此目录下创建banzhang.txt文本 echo "I love cls" >> banzhang.txt //打印字符串,并添加到banzhang.txt文件中 ~ :wq //退出脚本 ll //查询当前目录下文件及目录详情 bash batch.sh //执行脚本 cat banzhang.txt //查看此txt内容 I love cls
注3:
cat命令主要用来实现查看文件、创建文件、及合并、追加文件内容等功能。



