01_基础语法

一、Shell概述

1.1 Shell脚本定义

Shell 是 Linux 系统中的命令解释器,可以理解为系统的“命令翻译官”。 它的主要作用:接收用户输入的命令,翻译后交给内核执行,并将执行结果返回给用户。

Shell脚本(Shell Script)其实就是一组按顺序自动执行的命令集合的文件,让我们不需要每次都在终端中手动输入命令。

通常脚本文件都是以.sh / .bash结尾,例:hello.sh

现在使用主流shell为:bash

image

1.2 Shell脚本应用场景

1.3 Shell脚本的基本组成

一个典型的 Shell 脚本文件通常包含以下几个部分:

脚本声明

这告诉系统:此脚本使用 /bin/bash 来执行,要写在文件的第1行

#!/bin/bash
# 第1行为shell解释器类型,可以不指定,它就会使用默认 /bin/bash 或 /bin/sh

注释说明

使用 # 开头的行是注释,用于说明脚本功能、作者、日期等

# 注释说明,都是在第2行之后开始

# 功能:这是一个演示脚本
# 作者:吴老师
# 日期:2025-11-05
# 示例:./test.sh

业务逻辑语句

实际执行的 Shell 命令

echo '学习shell,使我快乐!'

命令作用:

执行结果:

关键参数:

注意事项:

---------------------------编写第1个shell脚本---------------------

#!/bin/bash

执行脚本有两种方式: 路径方式:此方式脚本必须要有可执行权限 相对路径 绝对路径 /scripts/day01/01_hello.sh 命令方式

学习shell,使我快乐! 学习shell,使我快乐! 学习shell,使我快乐! 学习shell,使我快乐!

学习shell,使我快乐!

学习shell,使我快乐!


**注意事项:**










**判断题:**






变量名=变量值





#!/bin/bash

name='张三'
age=20
height=182.3
gender=true



张三
20
182.3

关键参数:

注意事项:

设置分为:

临时设置,可以在命令行或脚本中直接设置,关闭终端或脚本执行结束后,环境变量会失效。

IT_NAME=abc

IT_NAME=cccc

#!/bin/bash

#!/bin/bash

20

20 20


**注意事项:**




注意事项:

用unset消除普通变量和环境变量(临时的设置的环境变量)

unset移除变量时,不需要添加\$符号,直接使用变量名称即可

-----------------------取消环境变量-----------------------------

-----------------------取消普通变量----------------------------

-----------------------脚本中实现定义和取消变量----------------------------

#!/bin/bash

name='abc'

环境变量AA:


**注意事项:**




**系统运行Shell的方式一般有2种:**






 ⬇
 ⬇
 ⬇

--------------------------------------------------------------

~/.bashrc






----------------------检查当前是否为登录shell-----------------------------
-bash

注意事项:


**注意事项:**

你好shell

注意事项:

前提:把系统ssh登录成功后的默认提示给建议关闭一下

---------------------------------------------------------------------------------------------------- #%PAM-1.0

----------------------------------------------------------------------------------------------------


**注意事项:**



#!/bin/bash

注意事项:

下载地址:https://repo.huaweicloud.com/java/jdk

image

jdk-8u241-linux-x64.tar.gz

jdk1.8.0_241


**注意事项:**



把一个命令的结果作为变量的内容赋值的方法

对需要获取命令结果的变量内容赋值的常见方法有两种:

案例演示:

#!/bin/bash

当前日期:2026-05-11


**注意事项:**



在Shell中存在一些特殊且重要的变量,例如\$0、\$1、\$#,我们称之为特殊**位置参数变量**。

作用:从命令行、函数或脚本执行等处传递参数时,就需要在Shell脚本中使用**位置参数变量**,来获取传入的参数数据。

在其它编程语言中,位置参数叫一个名称:形参

| **变量** | **含义** |
|---|---|
| \$0 | 当前脚本的文件名。 |
| **\$n**(n≥1) | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 \$1,第二个参数是 \$2,以此类推。  <br/>早期bash中,它默认只能获取1到9个,但现在不限制。  <br/>`${1:-default}` 表示:如果 `$1`未定义或为空,则使用 `default`;  <br/>`ls -lh`此命令中` -lh `就是`$1`来获取的 |
| \$# | 传递给脚本或函数的参数个数。 |
| \$\* | 传递给脚本或函数的所有参数,参数是一个整体,每一个变量参数之间以空格隔开。 |
| \$@ | 传递给脚本或函数的所有参数。参数是独立的,也是全部输出 |
| **\$?** | 上个命令的退出状态或函数的返回值   0成功  非0失败 |
|  \$\$ | 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。PId |
| \$! | 最近一次在后台运行的进程pid号 |


#!/bin/bash


/scripts/day02/07_shell脚本内置重要变量.sh
./07_shell脚本内置重要变量.sh
07_shell脚本内置重要变量.sh


#!/bin/bash






#!/bin/bash





#!/bin/bash





3457


#!/bin/bash



127

注意事项:

算术运算:默认情况下,Shell就只能支持简单的整数运算




案例:

3

3
5
1
6
1
1

5
1
6
1
1

5
1
6

注意事项:

#!/bin/bash

num=2

3 2

#!/bin/bash #a=1 #i=1

a=1 i=1


**注意事项:**

i=1;j=1

i=2;j=3

Shell运算符是否能实现小数运算呢?

答:默认不可以,但是可以使用第3方bc命令实现或使用其他语言。

0.5

2.5

1.50

111

7

0 1


**注意事项:**




#!/bin/bash



结果:0.5

注意事项:

本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。