第九次作业-构建基本的 shell 脚本

📅 2026/7/10 16:15:05
第九次作业-构建基本的 shell 脚本
一、知识框架总览一多命令组合执行1.分号 ; 同一行分隔多条命令依次执行所有命令结果全部输出符号前后必须空格例date ; who。2. 管道符 | 将前一条命令输出作为后一条输入仅展示最终结果符号前后必须空格例date | who。二Shell脚本创建与运行1.脚本规范后缀.sh首行固定#!/bin/bash幻数指定bash解释器#单独使用代表注释。2. 创建vim 脚本名.sh按i编辑Esc输入:wq保存退出。3. 两种运行方式① bash 脚本名.sh无需可执行权限② ./脚本名.sh需先赋权chmod ux 脚本名.sh无权限会提示Permission denied。三echo输出控制1.echo “文本”输出后自动换行2.echo -n “文本”输出不换行后续命令输出与文本同行。四变量使用1.系统环境变量USER、USER、USER、UID、$HOME$可原样打印符号不解析变量。2.自定义局部变量赋值格式变量名值等号两侧无空格仅当前脚本内生效脚本结束失效。3.命令替换获取命令输出赋值给变量1反引号‘命令‘2符号不解析变量。 2.自定义局部变量赋值格式变量名值等号两侧无空格仅当前脚本内生效脚本结束失效。 3.命令替换获取命令输出赋值给变量 1反引号 命令 2符号不解析变量。2.自定义局部变量赋值格式变量名值等号两侧无空格仅当前脚本内生效脚本结束失效。3.命令替换获取命令输出赋值给变量1反引号‘命令‘2(命令) 优先考虑示例logfile“log.$(date %y%m%d)”生成带年月日的日志文件名。五wc文本统计命令1.基础功能默认输出行数、单词数、字节数2. 参数-l仅统计文件行数3. *.sh通配符批量统计目录下所有脚本。六数学运算1.整数运算bash原生仅支持整数expr数字、运算符间必须空格*、()需\转义[]、[]、[]、(( ))无需转义、无空格限制优先考虑2. 浮点运算 bc 计算器交互式输入bc进入quit退出scaleN设置保留N位小数脚本调用格式变量$(echo “scale小数位;算式” | bc)scale必须写在算式前才生效。七退出状态码与exit1.$?内置变量保存上一条命令执行状态码范围0~2552. 核心状态码0执行成功1通用错误127命令不存在130CtrlC终止3. exit 数字自定义脚本退出码脚本结束返回指定数值。八输出重定向符1.覆盖重定向清空文件后写入内容2. 追加重定向在文件末尾新增内容3. 2仅重定向错误信息标准输出错误全部写入文件。二、实操过程截图1.多个命令组合执行2. 创建、执行shell 脚本文件3. echo 输出控制4. shell 变量使用1系统环境变量2自定义局部变量3命令替换5. wc 统计文件内容6. Shell 数学运算1expr 命令运算2$[ ] / $(( )) 整数运算3bc 浮点计算器7. 退出脚本与退出状态码8. 重定向符