栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Shell脚本

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Shell脚本

01 Shell概述
  • 目标
    (1)看懂shell程序
    (2)编写简单shell程序管理集群、提高开发效率

  • 概述
    其中shell流程控制、shell工具(cut、sed、awk、sort)为重点,shell是一个命令行解释器,它接收来自外层应用程序/用户命令,然后调用操作系统内核,从而控制硬件。
    shell易编写、调试、灵活。

    原理:若想实现硬件某些功能,需要Linux内核这个软件程序去驱动硬件工作,如硬件显示器等各种驱动程序,外层应用程序中含各种app,需要操作shell才能操作Linux内核。

02 Shell解释器
  • 六种shell解析器如下
    解析shell脚本六种,shell脚本以**.sh**结尾
  • 系统默认解析器
 echo $SHELL //系统变量
 /bin/bash   //不指定解析.sh文本,默认bash
03 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命令主要用来实现查看文件、创建文件、及合并、追加文件内容等功能。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/894592.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号