【Shell】一晚上时间速成Shell语言!

一、概述

1、介绍

  • shell 是一种脚本语言

  • 脚本:本质是一个文件,文件里面存放的是 特定格式的指令,系统可以使用脚本解析器 翻译或解析 指令 并执行(它不需要编译)

  • shell 既是应用程序 又是一种脚本语言(应用程序 解析 脚本语言)

  • shell命令解析器:

  • 系统提供 shell命令解析器: sh ash bash

  • 查看自己linux系统的默认解析:echo $SHELL
    在这里插入图片描述

2、Shell在计算机中的地位

  • shell脚本是一种脚本语言,我们只需使用任意文本编辑器,按照语法编写相应程序,增加可执行权限,即可在安装shell命令解释器的环境下执行
  • Shell处于用户和内核之间。

在这里插入图片描述在这里插入图片描述

二、简单的开始

1、hello world

(1)创建shell脚本

touch hello.sh

(2)写入命令

#!/bin/bash
echo "hello world!"

(3)执行

  • 保存后执行,图中分为绝对路径和相对路径执行,sh bash一样功能,只不过sh指向bash是个软连接,最后也是调用bash;直接在根目录下执行需要赋予脚本权限

2、多命令行处理

  • 直接把echo内容写入到demo.txt中
#!/bin/bash
touch demo.txt
echo "I like drinking Coke" >> demo.txt

三、Shell中的变量

1、系统以及自定义变量

  • 常用系统变量:HOME、PWD、SHELL、USER等,方便在文件写入操作。

(1)基本语法

  • 定义变量:变量=值

  • 撤销变量:unset 变量

  • 声明静态变量:readonly变量,注意:不能unset

(2)变量定义规则

  • 变量名称可以由字母、数字和下划线组成,但是不能以数字开头,环境变量名建议大写。

  • 等号两侧不能有空格

  • 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。

  • 变量的值如果有空格,需要使用双引号或单引号括起来。

  • 可把变量提升为全局环境变量,可供其他Shell程序使用:export 变量名

sxh@learn-basis:shell$ A=4				//定义变量A
sxh@learn-basis:shell$ echo $A
4
sxh@learn-basis:shell$ A=9				//给变量A重新赋值
sxh@learn-basis:shell$ echo $A
9
sxh@learn-basis:shell$ unset A				//撤销变量A
sxh@learn-basis:shell$ echo $A

sxh@learn-basis:shell$ readonly B=2				//声明静态的变量B=2,不能unset
sxh@learn-basis:shell$ echo $B
2
sxh@learn-basis:shell$ unset B
bash: unset: B:无法取消设定: 只读 variable
sxh@learn-basis:shell$ C=1+2				//在bash中,变量默认类型都是字符串类型,无法直接进行数值运算
sxh@learn-basis:shell$ echo $C
1+2
sxh@learn-basis:shell$ D=I love you			//变量的值如果有空格,需要使用双引号或单引号括起来
/*error
Command 'love' not found, but can be installed with:
sudo snap install love  # version 11.2+pkg-d332, or
sudo apt  install love  # version 11.3-1
See 'snap info love' for additional versions.
*/
sxh@learn-basis:shell$ D="I love you"
sxh@learn-basis:shell$ echo $D
I love you
sxh@learn-basis:shell$ vi hello.sh
	写入#!/bin/bash
	echo "hello sxh"
	echo $C
sxh@learn-basis:shell$ ./hello.sh 
hello sxh
									//发现并没有打印输出变量C的值。
sxh@learn-basis:shell$ export C		//把变量提升为全局环境变量,可供其他Shell程序使用
sxh@learn-basis:shell$ ./hello.sh 
hello sxh
1+2				//success

2、特殊变量

在这里插入图片描述

四、运算符

(1)“((运算式)) ”或“ ((运算式))”或“((运算式))”或“[运算式]”

(2)expr + , - , *, /, % 加,减,乘,除,取余

​ 注意:expr运算符间要有空格

参考文献
shell脚本语言(超全超详细)
shell脚本基础教程,快速上手

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值