1. Shell介绍

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务

2. Shell脚本

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

业界所说的 shell 通常都是指 shell 脚本,但shell 和 shell script 是两个不同的概念。

3. Shell的运行过程

shell_info

4. Shell解析器

查看当前系统有哪些Shell解析器

在Linux命令行输入

$ cat /etc/shells

cat_shell

查看当前系统有哪些Shell解析器

$ echo $SHELL

echo_shell

5. Shell脚本编写规范

脚本文件后缀名规范

shell脚本文件是一个文本文件, 后缀名一般建议.sh结尾

首行格式规范

#!/bin/bash 或者 #!/usr/bin/env bash或者其他可使用的shell

前者是声明解释器位置 后者是从环境变量$PATH中寻找bash的位置,先找到那个,就用那个

注重安全性用前者,注重移植性和灵活性就用后者

注释格式

Bash
# 单行注释
# 注释内容

# 多行注释
: <<COMMENT
注释内容1
注释内容2
COMMENT

实际上bash没有多行注释 上面提到的多行注释是模拟出来的

: 是一个空命令,它接受 Here Document 的内容作为输入,但不做任何操作。<<COMMENT 表示开始一个 Here Document,并将其内容视为注释。COMMENT 标记表示结束 Here Document。

在执行脚本时,Bash 解释器会忽略包含在**<<COMMENT** 和 COMMENT 之间的内容,因此这部分内容被视为注释。

6. 第一个脚本

创建一个文件(first.sh),如下所示:firsh.sh

Bash
#!/bin/sh
# This is a comment!
echo Hello World
# This is a comment, too!

7. 脚本文件执行方式

1. sh解释器执行方式

$ sh first.sh

2. 路径执行方式

Bash
$ chmod 755 first.sh
$ ./first.sh
Hello World

7. 修改字符串的值

下面是first2.sh的内容

Bash
` #!/bin/sh
# This is a comment!
echo "Hello      World"
# This is a comment, too!
echo "Hello World"
echo "Hello * World"
echo Hello * World
echo Hello      World
echo "Hello" World
echo Hello "     " World
echo "Hello "*" World"
echo `hello` world
echo 'hello' world

执行结果如下

print