初识shell

First Post:

Last Update:

初识 Shell


什么是 shell

shell: 壳(计算机壳层), 命令解释器

结构图:


第一个 shell 脚本

1
2
3
4
5
vim first_shell.sh

echo "Hello 2022!"
read -p "请输入你的姓名: " name
echo "哈哈哈 $name 是帅哥"

shell 脚本的四种执行方式:

  1. bash first_shell.sh
  2. sh first_shell.sh
  3. . first_shell.sh
  4. source first_shell.sh

1 和 2 的执行方式, 是子 shell 执行(启动新的 shell 执行)
3 和 4 的执行方式, 是本 shell 执行

1
2
3
4
5
6
vim cd_dir.sh

#!/bin/bash 此为脚本声明, !为起始符, 由/bin/bash执行
cd ~/
ls
pwd

shell 变量

用一个固定的字符串去表示不固定的内容, 便于修改

  1. 自定义变量
    定义变量: 变量名=变量值
    变量不能以数字开头
    等号左右不能有空格

推荐变量名命名大于 5 个字母

1
2
#例:
name="handsome_boy"
  1. 调用变量
    若需要提取变量的内容时, 需要在变量名之前加入 “$” 符号
    可以通过 echo 命令输出变量的值
1
2
3
#例:
[tourist@localhost ~]$ name="voilone"
[tourist@localhost ~]$ echo $name
  1. 变量查看
    在不知道有什么 shell 变量时, 可以进行变量查看
1
set
  1. 变量删除
    若不想使用一个变量, 就可以删除该变量
1
unset <变量名>
  1. 编写脚本
    然后授权脚本
1
chmod +x <脚本名>        #授权脚本后, 方可在本shell中执行

三目表达式:
&&|| 是三目表达式
&& 前面的命令成功, 执行后面的命令
|| 前面的命令失败, 执行后面的命令

  1. 交互定义变量
    read 从键盘读入变量名
    赋值方式: read 变量名
1
read -p "请输入你的姓名: " name     #"-p"选项指打印

3 种引号:

  • "" 弱引用
  • '' 强引用
  • `` 优先执行

变量运算

  1. 整数运算(四种方法等同)
  • expr
  • $(())
  • $[]
  • let

expr:

1
2
3
4
5
6
7
8
9
#语法:
expr 1 + 2
expr $num1 + $num2

# + 加
# - 减
# \* 乘 ("*"代表任意字符, 要用"\"转义一下)
# / 除
# % 取余

脚本实例:

1
2
3
4
5
6
7
#!/usr/bin

read -p "请输入你的第一门成绩: " mark1
read -p "请输入你的第二门成绩: " mark2
echo -n "总成绩是: " #-n选项用于去掉回车符
expr $mark1 + $mark2

$(()):

1
2
3
4
#语法:
echo $((5+2))
echo $((2**3))
...

$[]:

1
2
echo $[5+2]
...

let:

1
2
3
4
#常用
let sum=2+3
echo $sum
...