一、什么是Shell
Shell是一个命令行解释器,它用于接收应用程序(软件app)/用户命令对系统内核进行操作。
二、Shell脚本入门
1. 脚本格式
脚本以#!/bin/bash 格式开头(指定解析器)
2. 新建一个Shell脚本
- touch fileName 新建一个文件
[root@izwz9eldxtlzr8ehu1fmjbz datas]# touch helloworld.sh
- Vim fileName 编辑文件
#!/bin/bash
echo 'hello stopping'
3. 执行文件
- 通过sh/bash 相对路径/绝对路径 执行shell脚本
[root@izwz9eldxtlzr8ehu1fmjbz datas]# sh helloworld.sh
hello stopping
[root@izwz9eldxtlzr8ehu1fmjbz datas]# bash helloworld.sh
hello stopping
-
通过控制台调用
但是需要注意的是,控制台调用是执行用户命令需要权限,而sh/bash是将shell文件读取到sh处理。
[root@izwz9eldxtlzr8ehu1fmjbz datas]# ./helloworld.sh
-bash: ./helloworld.sh: Permission denied
[root@izwz9eldxtlzr8ehu1fmjbz datas]# ll
total 4
-rw-r--r-- 1 root root 34 Nov 14 14:41 helloworld.sh
修改权限chmod 777 filename
[root@izwz9eldxtlzr8ehu1fmjbz datas]# chmod 777 helloworld.sh
[root@izwz9eldxtlzr8ehu1fmjbz datas]# ll
total 4
-rwxrwxrwx 1 root root 34 Nov 14 14:41 helloworld.sh
命令执行
[root@izwz9eldxtlzr8ehu1fmjbz datas]# ./helloworld.sh
hello stopping
三、多命令处理
多命令处理即是将多个shell命令组合起来按流程处理。例如可以创建一个文件,并且在文件写入相关文本信息,然后打开改文本信息。
#!/bin/bash
echo "生成文本文件中..."
cd /stopping/datas/batch
touch stopping.txt
echo "生成stopping到stopping.txt中" >> stopping.txt
echo "生成文件已完成.."
cat stopping.txt
执行shell脚本,可以看到将生成stopping到stopping.txt中这段话写入到stopping.txt中并且在控制台查看了文本信息。
[root@izwz9eldxtlzr8ehu1fmjbz batch]# [root@izwz9eldxtlzr8ehu1fmjbz batch]# sh batch.sh
生成文本文件中...
生成文件已完成..
生成stopping到stopping.txt中
\