一、shell
linux系统是如何操作计算机硬件CPU,内存,磁盘,显示器等[参考]?
答: 使用linux的内核操作计算机的硬件
- 通过编写shell命令发送给linux内核去执行,操作计算机硬件, 所以shell命令是用户操作计算机硬件的桥梁;
- shell是命令,类似于windows系统Dos命令;
- shell是一个门程序设计语言,shell里面含有变量,函数,逻辑控制语句等等。
1.1 shell运行过程
当用户下达指令给该操作系统的时候,实际上是把指令告诉shell,经过shell解释,处理后让内核做出相应的动作。 系统的回应和输出的信息也由shell处理,然后显示在用户的屏幕上。
1.2 shell解析器
查看linux系统centos支持的shell解析器
cat /etc/shells
当前linux系统默认使用的shell解析器(bash):
echo $SHELL
含义: 打印输出当前系统环境使用的Shell解析器类型
- echo 用于打印输出数据到终端
- $SHELL 是全局共享的读取解析器类型环境变量,全局环境变量时所有的Shell程序都可以读取的变量
二、shell脚本
通过Shell命令或程序编程语言编写的Shell文本文件,这就是Shell脚本,也叫Shell程序。
作用:通过Shell命令与编程语言来提高linux系统的管理工作效率。
2.1 shell脚本编写规范
- shell脚本文件就是一个文本文件,后缀名建议使用 .sh 结尾;
- 首行需要设置shell解析器的类型,语法:
#!/bin/bash
- 注释
单行注释
# hello
多行注释
:<<!
hello world
hello
- 执行
sh命令执行方式(本质就是使用Shell解析器运行脚本文件): sh 脚本文件
bash解析器执行方式(本质就是使用Shell解析器运行脚本文件): bash 脚本文件
路径执行方式(脚本文件自己执行需要具有可执行权限,否则无法执行):./脚本文件
chmod a+m: 将文件的执行权限添加给所有用户
a
: 表示所有用户,包括文件的所有者、所在组的成员以及其他用户+m
: 表示添加(增加)执行权限chmod +m
和chmod +x
是等效的,它们都用于将文件设置为可执行
sh或bash执行脚本文件方式是直接使用Shell解析器运行脚本文件,不需要可执行权限;
仅路径方式是执行脚本文件自己,需要可执行权限。
三、案例
3.1 shell脚本hello world
1 创建shell脚本文件
touch helloworld.sh
2 编辑sh脚本
vim helloworld.sh
#!/bin/bash
echo "hello world"
3 执行
3.2 shell脚本执行多命令
已知目录/root/itheima目录,执行batch.sh脚本,实现在/root/itheima/目录下创建一个one.txt,在one.txt文件中增加内容“Hello shell”。
#!/bin/bash
touch /root/itheima/one.txt
echo "hello shell" >> /root/itheima/one.txt
查看one.txt内容
cat one.txt