Shell编程基础

10 篇文章 0 订阅





1、Shell脚本概述


1.1、什么是Shell脚本

Shell脚本是一种用Shell语言编写的脚本程序。Shell既是一种命令语言,又是一种程序设计语言

在Unix和类Unix环境(例如Linux和Mac OS)下,我们可以通过Shell来与操作系统进行交互

Shell脚本就像是一个命令序列的集合,将这些命令写入一个文件,就构成了一个Shell脚本

1.2、Shell脚本的应用场景

Shell脚本的主要作用是自动化执行常用命令和任务,节省手动执行的时间和精力。具体的应用场景非常广泛,例如:

  • 系统管理:自动化安装和配置软件,系统监控,日志分析等
  • 文件操作:批量修改文件名,备份和恢复数据等
  • 测试:自动化测试,性能监测等

1.3、创建和执行一个Shell脚本

1)创建一个Shell脚本

通常,Shell脚本的文件名以.sh(代表Shell)为后缀。可以使用vi/vim命令来创建一个Shell脚本文件,然后输入Shell命令即可

例如,创建一个名为hello.sh的Shell脚本:

vim ./hello.sh

在Shell脚本文件中写入一条命令:

#!/bin/bash
echo "Hello, World!"

需要注意的是,每个Shell脚本应以#!/bin/bash(或其他Shell解释器)开头,这称为Shebang,Shebang告诉系统使用哪个Shell解释器来执行脚本

例如,以#!/bin/bash开头的⽂件,程序在执⾏时会调⽤/bin/bash,也就是Bash解释器; 以#!/usr/bin/python开头的⽂件,表示指定Python解释器来执行脚本文件

#!是一个约定的标记,它告诉系统根据Shebang中指定的解释器来执行脚本文件

2)执行一个Shell脚本

执行一个Shell脚本有两种方法:作为可执行程序和作为解释器参数

A、作为可执行程序

保存并关闭Shell脚本文件后,需要给该脚本文件添加执行权限:

chmod +x ./hello.sh

执行一个Shell脚本:

./hello.sh

一般写成./hello.sh,如果写成hello.sh,Linux系统会去系统变量PATH中寻找该文件

B、作为解释器参数

另一种执行方式是,直接运行解释器,其参数就是Shell脚本文件名,例如

sh hello.sh
python hello.sh

使用这种执行方式的脚本文件,不需要在第一行指定Shebang解释器信息,也无需给脚本文件添加执行权限

1.4、Shell脚本的编写规范

在编写Shell脚本时,应遵循一些基本的规范和最佳实践:

  • 每个Shell脚本应以#!/bin/bash(或其他Shell解释器)开头,这行告诉系统使用哪个Shell解释器来执行脚本
  • 脚本应具有清晰的结构和合理的注释,以便其他人(或未来的自己)理解它的作用和工作原理
  • 脚本应尽量避免使用硬编码的值,而是使用变量,这样更易于修改和重用代码
  • 脚本应检查其依赖项(例如必须的系统命令或环境变量)是否存在,如果不存在,应优雅地失败,并给出错误信息
  • 脚本应在可能的地方使用错误处理,例如,如果尝试删除一个不存在的文件,脚本应能处理这种错误情况
  • 如果脚本需要以特定的用户(例如root用户)身份运行,应在脚本开始处检查当前用户,如果不是预期用户,给出错误信息并退出

2、变量与参数传递


Shell变量与参数传递详见文章:传送门

3、Shell运算符


Shell运算符详见文章:传送门

4、输出、重定向与管道符


Shell输出、重定向与管道符详见文章:传送门

5、控制结构(三大结构)


Shell控制结构(三大结构)详见文章:传送门

6、函数与模块化编程


Shell函数与模块化编程详见文章:传送门

7、Shell文本处理


Shell文本处理详见文章:传送门


更多内容参考文章:https://www.cnblogs.com/kcloveworld/p/17984476



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值