shell编程规范和变量

目录

1.shell的作用和规范

1 shell的作用

2.shell脚本构成

3.执行脚本

4.脚本的执行逻辑

5.脚本错误

2.重定向与管道符

1.重定向

3. 变量 

1.变量类型

2.命名要求

3.特殊符号

4.整数的运算

实操实验

1.用脚本显示电脑详细信息

2.脚本自动分区


1.shell的作用和规范

1 shell的作用

将人类使用的高级语言翻译成二进制,也可以将二进制翻译成高级语言

人类写了一个命令集合,然后用bash(shell)去翻译给硬件执行

2.shell脚本构成

1.声明解释器:!/bin/bash  代表我接下来,使用什么解释器来解释接下来的命令

2.注释信息:#

3.执行命令

3.执行脚本

1.直接调用shell解释器,加上脚本上的名字bash脚本名,不需要加上权限

2.路径/脚本   路径分为绝对,相对,但是这个需要权限

3.source(.)脚本名字    不建议使用(会修改当前参数)

如果你想让脚本全局运行(补全),将脚本放入$PATH路径下,并且脚本要有执行权限

shell 脚本的本质是程序

4.脚本的执行逻辑

1.顺序执行

2.选择执行

3.循环执行

5.脚本错误

1.命令错误

不影响接下来的命令执行,但本条命令不执行

bash -x 脚本    模拟执行,告知错误

2.语法错误  

会影响脚本无法正常运行

bash -n 脚本  检查语法错误

3.逻辑错误

bash -x

加一些脚本安全选项

set -e     一旦错误就停止

set -u    变量不存在就停止

2.重定向与管道符

1.重定向

改变电脑数据的输出方向

默认电脑数据的输出方向是屏幕

你发了一条指令给电脑操作,电脑会回复结果给你,结果是一定显示在屏幕上

我们称为“标准输出”

如果电脑没有正确回复

我们称为“错误输出”

我们通过键盘鼠标,扫描仪,话筒等设备输入给电脑的指令,就是标准输入

liunx中一切皆文件

改变输出方向

1.输出到别的终端设备

2.输出到文件中

> 覆盖

>>追加

&>/dev/null    垃圾回收站

2.| 管道符

将左侧的命令输出结果,作为右侧命令的输入(处理对象)可以 叠加使用

3. 变量 

保存将来会变化的数据,即使数据变化,直接调用变量即可

1.变量类型

1.自定义变量

由用户自己定义,修改和使用

2.预定义变量

$?     $$      $*      $@     shell程序自带的

3.环境变量

看到所有环境的变量

4.只读变量

只可以读取不可以更改

5.位置变量

通过命令行给脚本传递参数

2.命名要求

1.区分大小写

2.不能使程序中的保留字和内置变量

3.只能使用数字、字母及下划线,且不能以数字开头,注意:不支持短横线 “ - ”,和主机名相反

4.不要使用内置的变量,使用英文尽量使用词义通俗易懂,PATH

5.大驼峰 StudentFirstName

6.小驼峰 studentFirstName

7.下划线 student_name

3.特殊符号

${}定义了变量名的范围     ${}一定不会错过

" " 变量在双引号中可以识别 弱引用

'  ' 变量在单引号中不被识别 强引用

`  `反撇号 代表引用命令执行的结果  效果等与$()

4.整数的运算

expr只能进行整数的运算

格式: expr 变量1 运算符 变量2 [运算符 变量3]

运算符:

加法 +

减法 -

乘法 \ *

除法 /

取余 (取模)%

4.预定义变量

$?:代表上一次命令的执行结果是否正确    0代表正确   非0代表不正确

$0:代表脚本的文件名

$$:当前bash的pid

$#:代表位置参数的总个数

$*:代表所有参数,所有参数当成一个整数返回

$@:代表所有参数,每一个参数都是一个独立的个体返回

实操实验

1.用脚本显示电脑详细信息

vim   system.sh

bash system.sh

运行代码

 

 

2.脚本自动分区

vim fenqu

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值