STF61_LINUX_SHELL(上午)

发布时间 2023-10-09 11:21:22作者: 一只像鲨鱼的蜜蜂
 

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}'