Linux学习笔记(二十一):shell编程

我想请教一下,Linux学习笔记(二十一):shell编程
最新回答
冬瑾凉桉

2024-10-23 03:22:54

Linux学习笔记(二十一):shell编程



一、基础概念




  • 1. 什么是shell? shell是种编程语言,虽古老,但强大,基于C语言,特性包括弱数据类型、无需声明、默认字符串类型。Shell是Linux内部应用的理想工具,底层命令支持shell语句,结合grep、sed、awk进行高级用法。其作用为:解释执行用户命令或程序,接收键盘输入,提供与Linux交互的方式。


  • 2. 什么是shell脚本?shell脚本是文件,包含程序代码,如命令和循环控制语句。计算机读取并执行文件中的代码,非交互方式运行,若存在问题,可能导致执行中断。


  • 3. shebang shebang是文本文件第一行前的字符,指定解释器,如#!/bin/sh表示使用bash解释器执行文件。


  • 4. 示例示例代码展示shell编程基本应用。


  • 5. 变量规则定义变量规则,如无空格、非关键字、非数字开头等。


  • 6. 变量类型说明变量类型,如age=18等。


  • 7. 引号规则单引号、双引号、反引号及无引号的特性。


  • 8. 变量作用域说明本地与全局变量,及特殊变量的用途。


  • 9. 执行方式讨论不同shell环境。


  • 10. 多命令执行shell脚本中的多命令执行。




二、shell的3种变量




  • 1. 局部变量:shell脚本中定义的变量。


  • 2. 全局变量:与局部变量相对,如环境变量。


  • 3. 特殊变量:shell内置的、具有特殊功能的变量。




三、特殊参数与状态变量




  • 特殊参数变量用于传递参数。


  • 特殊状态变量用于查看命令状态。


  • 常用特殊参数变量如$0、$1等。




四、环境变量详解




  • 环境变量定义shell运行环境,如用户、PATH路径。


  • 环境变量配置文件和使用方法。


  • 检查环境变量命令。


  • 撤销与设置只读变量。


  • 查看环境变量关键字。




五、bash基础内置命令




  • echo:不换行输出,解析特殊字符。


  • printf:打印命令。


  • eval:执行命令。


  • exac:不创建子进程。


  • export、read、shift:命令功能。




六、shell变量处理




  • 文本处理:文本存储、变量存储、复杂格式。


  • for循环统计字符串长度。


  • 使用内置命令效率最高。




七、案例:批量修改文件名




  • 生成空文件。


  • 删除_finished字符。


  • 使用echo `ls` 获取文件名。


  • for循环批量替换文件名。




八、案例:删除过期数据




  • 删除7天以上的日志文件。


  • find命令找到文件。


  • xargs命令删除文件。




九、父子shell




  • 查看父子shell层级。


  • 开子shell处理耗时操作。


  • BASH_SUBSHELL变量指示shell层级。


  • 嵌套子shell。




十、内置与外置命令




  • 内置命令:系统启动时加载,执行效率高。


  • 外置命令:系统读取文件,加载内存,执行效率较低。


  • 外置命令路径:/bin、/usr/bin、/sbin、/usr/sbin。




待续...