shell

本文详细介绍了shell脚本的编程风格、用途、应用场景,包括脚本构成、执行逻辑、错误调试、重定向、管道符、变量使用(包括类型、格式和作用范围)、整数运算以及环境变量等内容,旨在帮助读者理解和掌握shell编程的基本要素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.程序编程风格

2.shell脚本

shell脚本用途

shell应用场景

shell脚本构成

3.执行脚本

脚本执行逻辑

执行方式

4.脚本错误调试

查代码的正确

 5.重定向

6.管道符

7.变量

常见shell变量类型

变量格式

 8.read -p

9.变量的作用范围

10.整数的运算

运算符:

 随机数生成器变量:

11. 环境变量

12.只读变量

13.位置变量

14.预定义变量


1.程序编程风格

面向过程语言:开发的时候需要一步一步执行

面向对象语言:开发的时候将任务当成一个整体

2.shell脚本

shell:是一个命令解释器,将人类使用的高级语言翻译成二进制,也可以将二进制翻译成人类使用的高级语言

shell脚本用途

  • 将简单的命令组合完成复杂的工作,自动化执行命令,提高工作效率
  • 减少手工命令的重复输入
  • 将软件或应用的安装及配置实现标准化

shell应用场景

1.重复性操作

2.批量操作

3.定时任务处理

shell脚本构成

  • 1. 脚本声明:表示此行以下的代码语句是通过/bin/bash程序来解释执行
  • 2.注释信息:以#开头的语句表示为注释信息
  • 3.可执行语句

3.执行脚本

脚本执行逻辑

顺序执行:程序按从上到下顺序执行

选择执行:程序执行过程中,根据条件的不同,进行选择不同分支继续执行

循环执行:程序执行过程中需要重复执行多次某段语句

执行方式

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

2.路径执行脚本,需要权限

3.source(.)加上脚本名,会直接修改当前bash环境

4.如果想要脚本全局运行(补全),需要将脚本放入echo$PATH路径下(shell脚本的本质是命令的集合,是一个程序)

4.脚本错误调试

1.命令错误:不会影响接下来的命令执行,但本条命令不执行

2.语法错误:会影响脚本无法正常运行

3.逻辑错误:只能自己去筛查

查代码的正确

bash -x 脚本名        //检查逻辑错误
bash -n 脚本名        //检查语法错误
set -e            //一旦出错立即停止

set -u      //变量不存在不让执行

 

 5.重定向

重定向:改变电脑数据的输出方向(默认电脑数据的输出方向是屏幕)

标准输出:发一条指令给电脑操作,电脑会回复结果给你,结果一定显示在屏幕上


错误输出:发一条指令给电脑操作,电脑没有正确回复


标准输入:通过键盘,鼠标,扫描仪等设备输入给电脑的指令

6.管道符

  • 管道符:|

将左侧的命令输出结果,作为右侧命令输入的参数

7.变量

常见shell变量类型

  • 自定义变量:由用户自己定义修改和使用
  • 预定义变量:$?,$$,$^,$@,shell程序中自带的
  • 环境变量:由系统维护,用于设置工作环境,env查看所有变量
  • 只读变量:只可以读取不可以更改
  • 位置变量:通过命令行给脚本船体参数

变量格式

  • 设置变量:变量名=变量值
  • 调用变量:echo $变量名
  •  删除变量:unset 变量名
  • 重新定义变量:变量名=变量值
  • 追加变量值:变量名+=变量值

 8.read -p

  • 从键盘输入的内容变成变量

脚本运行分区格式

#!/bin/bash
read -p "请输入你要分区的设备:"  disk
read -p "请输入你要的分区大小:"  num

echo -e "n\n\n\n\n${num}\nw\n "|fdisk ${disk}

9.变量的作用范围

  • 默认情况下,新定义的变量只在当前的shell环境中有效,因此称为局部变量,当进入子程序或新的shell环境中,局部变量将无法再起作用。
  • 可以通过内部命令export将指定的变量为全局变量,使用户定义的变量在所子shell环境中可以继续使用

格式:

export 变量名
export 变量名=变量值
pstree -p |grep bash                 //查看shell的环境

10.整数的运算

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

运算符:

  • 加法 :+
  • 减法 :-
  • 乘法 :\ *
  • 除法 :/
  • 取余 (取模):%

 随机数生成器变量:

11. 环境变量

env:查看所有环境变量

12.只读变量

变量值不允许修改,无法使用unset删除

13.位置变量

14.预定义变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值