(超详细)Linux Shell 编程

Shell的定义

Shell是一个命令解释器,它的作用是解释执行用户输入的命令及程序等。 用户每输入一条命令,Shell就执行一条。这种从键盘输入命令,就可以立即得到回应的对话方式,称为交互的方式。
当命令或程序语句不在命令行下执行,而是通过一个程序文件来执行时,该程序文件就被称为Shell脚本。 在Shell脚本里内置了很多命令、语句及循环控制,然后将这些命令一次性执行完毕,这种通过文件执行脚本的方式称为非交互的方式。 Shell脚本语言很适合用于处理纯文本型的数据,而Linux系统中几乎所有的配置文件、日志文件,以及绝大对数的启动文件都是纯文本类型的文件。

[root@localhost ~]# cat /etc/shells
/bin/sh (指向/bin/bash)
/bin/bash (默认shell类型)
/usr/bin/sh
/usr/bin/bash

请添加图片描述

shell脚本:

​ 关键字

​ Linux命令

​ shell自带命令

​ 函数

​ 控制语句

.sh 作为文件后缀,代表是shell脚本

/etc/profile ~/.bash_profile ~/.bashrc ~/etc/bashrc(以最后一个生效)

shell脚本类型:请添加图片描述

脚本书写规范

​ #!/bin/bash

添加注释信息

#日期,#作者,#作用,#版本,#联系方式…

#Date:2022-6-12

#Author:

#Desc:

#Vers:

#Email:

文件名后缀 .sh

shell脚本执行:请添加图片描述

shell脚本编写规范:
写shell脚本时,命令用反单引号括起来``
设置变量 name=upper(等号两边不能有空格)

成对的符号,建议一次性写完 () {} [] ’ ’ " " ``

对于流程控制语句,应一次性将格式写完,再添加内容。缩进最好空四个


if  []

   then(注意缩进)

fi

for 

do 

...

done

变量

变量赋值方法

​ 变量名="值 "(=左右两边没有空格)

​ echo $变量名(进行输出)

对于环境变量:变量名大写

​ set命令:查看环境变量
env命令:查看全局变量
declare:用来做定义
unset NAME:取消变量/删除变量
    eg :
      # unset A 撤销变量 A
      # readonly B=2 声明静态的变量 B=2 ,不能 unset
用户自定义只在set中有;env中没有
请添加图片描述
请添加图片描述
请添加图片描述

自定义环境变量

​ (仅在当前环境有效)

​ 1、export 变量名=值

​ 2、变量名=值;export 变量名

​ 3、declare -x 变量名=值

赋值用= ; 相等用==

用户级环境变量

~/.bashrc

全局环境变量

/etc/profile

/etc/bashrc

/etc/profile.d:存放脚本

取消环境变量:unset 变量名

局部变量

变量名=值
变量名=‘值’
变量名=“值”
变量名=command
变量名=$(command)
变量数组
特殊变量

赋值时引号的作用:

  • 双引号:允许通过$符号引用其他变量值
  • 单引号:禁止引用其他变量值,$视为普通字符
  • 反撇号:命令替换,提取命令执行后的输出结果 全局变量的定义方法 export 变量名

字符串变量:
请添加图片描述
数组:
请添加图片描述
获取数组元素:请添加图片描述

位置变量!!!

​ $0 获取当前shell脚本文件名

​ $n (n>0) 代表参数值

$@ 代表命令行中所有的参数
$# 代表命令行中所有参数的个数
$* 代表命令行中所有的参数

$? 获取上一条命令执行的状态返回值 0代表成功,非0代表失败
$$ 获

  • 19
    点赞
  • 244
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux shell 编程是指使用 shell 脚本语言编写程序来控制 Linux 操作系统。以下是一些 Linux shell 编程详细知识点: 1. shell 脚本语言:shell 脚本语言是一种解释型语言,它可以通过命令行交互式执行,也可以通过 shell 脚本文件执行。shell 脚本语言有多种类型,包括 Bash、Korn、C Shell 等。 2. 变量:shell 脚本可以定义变量,用于存储数据。变量可以是字符串、整数或数组类型。变量名以字母或下划线开头,不能以数字开头。 3. 控制流语句:控制流语句用于控制程序的执行流程,包括 if-then、for、while、case 等。 4. 输入输出:shell 脚本可以通过标准输入输出、重定向和管道等方式进行输入输出操作。标准输入输出是指 shell 脚本默认的输入输出方式。重定向是指将输入输出重定向到文件或设备。管道是指将一个命令的输出作为另一个命令的输入。 5. 函数:shell 脚本可以定义函数,用于封装一段代码并重复使用。函数的定义和调用方式与其他编程语言类似。 6. 正则表达式:shell 脚本支持正则表达式,用于匹配和替换字符串。正则表达式可以用于文件名匹配、文本搜索和替换等操作。 7. 命令行参数:shell 脚本可以接受命令行参数,用于向脚本传递参数。命令行参数可以用于控制程序的执行流程和数据输入输出。 8. 系统调用:shell 脚本可以调用系统命令和函数,用于执行系统级别的操作。系统调用可以用于文件操作、进程管理和网络操作等。 以上是 Linux shell 编程的一些常见知识点,掌握这些知识点可以让你编写出更为高效和灵活的 shell 脚本程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值