shell脚本三步走以及shell编程中常用语法

本文介绍了Shell编程的基本步骤,包括创建和编辑Shell命令、赋予执行权限、执行Shell程序等,并详细讲解了Shell脚本中的变量定义、位置变量、环境变量以及常用的命令如read、expr等。

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

1shell编程有三个步骤

a、建立并编辑shell命令 touch file.sh

b、赋予执行权限 chmod 777 file.sh 

c、执行shell程序 sh file.sh

下面是我自己写的创建shell脚本的脚本文件,感兴趣的可以尝试一下:



1shell脚本中不变量不需要定义,可以直接使用

2shell自定义变量的时候,赋值号两边不要有空格  例如:var=8

3、位置变量

$0              键入命令行名字

$1~$9      参数1到参数9

$#$@           都代表命令行参数个数

$*              包含说有命令函参数              

$?              前一个命令的退出状态 01

$$              正在执行的进程


4shell环境变量

HOME 当前登录用户主目录

IFS             默认为空格,tab和换行(同时执行)

PATH         shell搜索路径

PS1PS2 默认提示符($)及换行提示符(>)

TERM       终端类型


5read var 从终端读取值并赋值给var

6expr 算术运算

7shell编程

         自定义变量在赋值号两边不可加空格   name=7

-eq

-ne

-gt 是否大于

-ge 是否大于等于

-lt     是否小于

-le  是否小于等于


-d f1 否为目录

-e f1 是否存在

-f f1  是否为普通文件

-L f1 是否为链接

-s f1 是否存在并且长度不为0

f1 -nt f2 f1f2

f1 -ot f2

-r

-w

-x


s1 = s2

s1 != s2

-z s1   s1长度是否为0

-n s1                   s1长度是否不为0

 
8test比较命令比较命令 ]

 


-d f1 否为目录

-e f1 是否存在

-f f1  是否为普通文件

-L f1 是否为链接

-s f1 是否存在并且长度不为0

f1 -nt f2 f1f2

f1 -ot f2

-r

-w

-x

 

s1 = s2

s1 != s2

-z s1   s1长度是否为0

-n s1                   s1长度是否不为0

 

-eq

-ne

-gt 是否大于

-ge 是否大于等于

-lt     是否小于

-le  是否小于等于

 

 




4shell环境变量

HOME 当前登录用户主目录

IFS             默认为空格,tab和换行(同时执行)

PATH         shell搜索路径

PS1PS2 默认提示符($)及换行提示符(>)

TERM       终端类型

 
 
<think>好的,用户想要了解脚本测试自动化,特别是使用Python3和Linux dash脚本。他是小白,需要详细解释。首先,我需要明确这两个工具在自动化测试中的角色和应用场景。 用户可能对自动化测试不太了解,所以应该先简单介绍什么是脚本测试自动化。然后分别讲解Python3和Linux shell脚本(可能用户误写成dash)在其中的应用。需要区分两者的不同用途,Python适合复杂的测试框架,而Shell脚本适合系统层面的快速操作。 接下来,要考虑到用户是小白,需要用通俗易懂的语言,避免太多专业术语。可能需要举一些例子,比如用Python写一个简单的测试脚本,用Shell脚本执行文件检查。同时,要说明两者的优缺点,帮助用户理解什么时候该用哪种工具。 用户可能有实际需求,比如自动化测试的工作流程,或者想了解如何开始学习。因此,除了概念解释,还需要给出学习路径或资源推荐,比如推荐Python的unittest框架或Shell脚本的基础命令。 还需要检查是否存在误解,比如dash可能是指Shell脚本中的dash环境,但通常自动化测试中使用的是bash。可能需要指出这一点,避免混淆。此外,是否需要对比Python和Shell脚本在自动化测试中的不同应用场景,比如Python更适合复杂逻辑,Shell适合简单任务。 最后,确保结构清晰,分点说明,让用户能够一步步理解。可能需要总结两者的适用情况,帮助用户做出选择。</think>(以下是面向小白的详细解释,分模块讲解) 一、基础概念篇 1. 脚本测试自动化是什么? 相当于用代码编写"智能小助手",替代人工完成重复性测试工作。例如: - 自动点击APP按钮 ✅ - 自动检查网页加载速度 ⏱️ - 自动验证计算结果是否正确 ✔️ 2. Python3 vs Linux Shell脚本 | 工具 | 适用场景 | 简单示例 | |---------------|-----------------------------|--------------------------| | Python3 | 复杂业务逻辑、Web/APP测试 | 自动登录网站检查功能 | | Shell脚本 | 文件操作、服务器监控 | 定时清理日志文件 | 二、Python3自动化实战 1. 安装必备工具 ```bash # 安装Python(Linux/Mac通常已内置) python3 --version # 安装自动化库 pip install selenium pytest ``` 2. 第一个自动化脚本(保存为test_login.py) ```python import unittest class TestLogin(unittest.TestCase): def test_success(self): # 模拟输入正确账号密码 username = "admin" password = "123456" self.assertEqual(username, "admin") # ✅ 断言验证 self.assertTrue(len(password)>=6) # ✅ 安全检查 if __name__ == '__main__': unittest.main() ``` 3. 执行测试 ```bash python3 test_login.py # 输出示例: # Ran 1 test in 0.001s # OK ``` 三、Linux Shell自动化指南 1. 基础脚本结构(保存为monitor.sh) ```bash #!/bin/bash # 监控磁盘使用情况 DISK_USAGE=$(df -h | grep '/dev/sda1') # 获取磁盘数据 THRESHOLD="80%" # 设置报警阈值 echo "当前磁盘使用率:$DISK_USAGE" if [[ $DISK_USAGE > $THRESHOLD ]]; then echo "⚠️ 警告:磁盘空间不足!" | mail -s "磁盘告警" admin@example.com fi ``` 2. 设置定时任务(每天9点检查) ```bash crontab -e # 添加下行: 0 9 * * * /bin/bash /path/to/monitor.sh ``` 四、学习路线建议 1. Python自动化三步走: ① 基础语法 → ② unittest/pytest框架 → ③ Selenium/Requests库 2. Shell脚本进阶路径: ① 常用命令(grep/awk/sed)→ ② 条件判断/循环 → ③ 定时任务设置 五、常见自动化场景对比 1. 文件批量处理 - Shell优势:`find . -name "*.log" -mtime +7 -delete` 一键清理旧日志 2. Web功能测试 - Python优势:用Selenium模拟浏览器点击 ```python from selenium import webdriver driver = webdriver.Chrome() driver.get("https://baidu.com") search_box = driver.find_element("id", "kw") search_box.send_keys("自动化测试") ``` 建议初学者从Python开始,掌握基础后结合Shell脚本使用,典型工作流示例: 1. 用Shell脚本启动测试环境 → 2. Python执行核心测试 → 3. Shell分析日志并发送报告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值