【2023年10月09日】STF61_LINUX_SHELL
STF61_LINUX_SHELL(上午)
1. 什么是shell?
shell就是一个用C语言编写的程序,是用户使用linux的桥梁。shell既是一种命令语言,也是一种程序设计语言
2. 什么是shell script?
利用shell的功能所写的一个“程序”,这个程序是使用纯文本文档,将一些shell的语法与命令写在命令。搭配正则表达式、管道命令与数据重定向等功能,实现我们想要的一些处理的目的。
3. 第一个shell脚本
1)先新建一个file1.sh文档
vi file1.sh
2)编辑file1.sh
#!/bin/bash
echo "hello world!"
3)修改file1.sh的权限,所有用户都加上x权限
chmod +x file1.sh
4) 运行file1.sh脚本
点命令运行 ./file1.sh (这是相对路径运行)
绝对路径运行 /home/Desktop/file1.sh
命令运行 bash file1.sh(这种执行方式,即使没有x权限,也可以执行)
4. shell变量
什么是变量?
是指在程序运行过程中它的值是允许被改变的量
变量是由一串固定的字符来标示不固定值的一种方法
设定变量(变量的赋值)
mystring="hello world"
变量的引用
${mystring}
变量的设定规则
1. 变量名与变量内容以一个等号=连接
mystring="hello world"
2. 等号两边不能直接接空格符
mystring = "hello world"
3. 变量名只能是英文字母与数字,但是开头字符不能是数字
2string="hello world"
4. 变量内容如果有空格符,可以使用单引号或双引号将变量内容结合起来
a. 双引号内的特殊字符,如$等,可以保有原本的特性
mystring="hello world" echo "this is ${mystring}"结果就是引用出来变量的内容
b. 单引号内的特殊字符则仅表现为一般字符(纯文本)
mystring="hello world" echo 'this is ${mystring}结果就是输出this is ${mystring}
5. 定义变量,变量内容没有引号,如果含有空格符等特殊字符。可以使用跳脱字符 \ 将特殊符号(空格,$,\,'等)变成一般字符
myname=vergil\ sparda
6. 在一串指令执行中,还需要藉由其他额外的指令所提供的信息时,可以使用反引号``或$(指令)
version=$(uname -r) 在echo ${version}
7. 如果变量需要在其他子程序运行,则需要以export来设定变量为环境变量
8. 通常大写字符为系统默认变量,自行设定的变量可以使用小写,方便判断
系统默认变量,可以使用env来查看
新建一个file2.sh的文件
#!/bin/bash
mystring="hello world"
echo ${mystring}
echo "Do you see ${mystring}"
echo 'Do you see ${mystring}'
删除变量
取消变量的方法:unset 变量名
5. shell注释
注释掉的行,就不会被执行
1.单行注释(#)
2.多行注释
6. 字符串拼接
目的:想要在一句echo中,输出两个或多个变量
结果:echo的一句语句中,两个变量按顺序写就可以了
新建一个file3.sh
#!/bin/bash
name="rizhaosuolong"
name1="gouyanmihuoke"
greeting="hello,${name}"
greeting1="hello,${name1}"
echo ${greeting} ${greeting1}