Linux shell脚本编程

一、sehll简介:

用户通过shell向计算机发送指令的

计算机通过shell给用户返回指令的执行结果

1.1、通过shell编程可以达到的效果

提高工作的效率

可以实现自动化

1.2、sehll脚本编写的流程

复制代码
1、用vi/vim创建一个.sh的文件
2、在文件中进行开发
3、个文件赋予可执行权限
4、执行脚本

1.3、变量

本地变量:

定义变量:Var_Name="Value" (变量名=变量值)

引用变量:${Var_Name}(注意花括号可以省略不写)

撤销变量:unset Var_Name

注意:定义的变量只可以在当前终端上使用其他地方不可以!!!!

局部变量:

定义变量:local Var_Name

注意:实在是在函数内部生效的

环境变量:

什么是环境变量:环境变量是用来定义bash的工作特性的

定义变量:export Var_Name="Value"

常用的环境变量:

PS1

HOSTNAME

LANG

复制代码
set命令可以显示当前系统上的所有变量

export,env命令可以显示环境变量

配置文件:

profile类:为交互式登陆的用户提供的配置

bashrc类:非交互式登录的用户提供配置

位置变量:

主要用于向脚本中传递参数

表示方法:1,2,3...n

例子:./1.sh 1 2(传入两个数据)

特殊变量:

$0:脚本(文件)自身名称

$?:上个命令的执行状态

$#:参数列表(位置变量的数量)

$@:显示参数列表中的具体内容

1.4、变量名的命名要求:

只能使用数字、字母和下划线组成

不能以数字开头

不能使用Linux中的关键字

1.5、变量名的默认规则:

见明知意

自定义变量小写

环境变量大写

1.6、特殊文件:

/dev/null:黑洞文件(echo进去的内容都会屏蔽)

/dev/zero:这是个无限吐零的文件

dd if=/dev/zero of=zeros.bin bs=1G count=100000

相关推荐
Avan_菜菜15 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10151 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3103 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
A小辣椒5 天前
TShark:Wireshark CLI 功能
linux
A小辣椒5 天前
TShark:基础知识
linux
AlfredZhao5 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci