如何用basename和dirname拆分文件路径并编写通用脚本?
基于basename和dirname的测试用例运行脚本
下面是满足需求的通用命令行脚本,利用dirname和basename拆分路径,自动切换目录并运行测试用例:
#!/bin/bash # 验证参数数量 if [ $# -ne 1 ]; then echo "用法: $0 <测试用例文件的完整路径>" exit 1 fi # 拆分路径为工作目录和文件名 working_dir=$(dirname "$1") netlist=$(basename "$1") # 切换工作目录(失败则退出) cd "$working_dir" || { echo "错误:无法进入目录 $working_dir"; exit 1; } # 执行测试用例运行命令 run "$netlist"
关键说明:
dirname "$1":提取传入路径的目录部分,例如输入/path/to/testcase/d.txt会返回/path/to/testcasebasename "$1":提取传入路径的文件名部分,上述输入会返回d.txt- 双引号包裹变量:确保能正确处理包含空格或特殊字符的路径
- 目录切换失败处理:
cd命令后加||判断,避免在错误目录执行后续命令
使用步骤:
- 将上述代码保存为
run_test.sh - 赋予脚本执行权限:
chmod +x run_test.sh - 运行脚本并传入测试用例路径:
./run_test.sh /path/to/testcase/d.txt
注意:如果你的测试用例运行命令不是
run,请替换成实际的命令名称
内容的提问来源于stack exchange,提问作者user18726987
相关产品推荐
相关产品推荐

