欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【Linux实践】实验九:Shell流程控制语句

【Linux实践】实验九:Shell流程控制语句

2024/10/25 23:38:30 来源:https://blog.csdn.net/weixin_49345320/article/details/142758915  浏览:    关键词:【Linux实践】实验九:Shell流程控制语句

文章目录

      • 实验九:Shell流程控制语句
        • 实验目的:
        • 实验内容:
        • 操作步骤:
          • 1. 复制`*.c`文件并排序
          • 2. 计算1-10的平方


实验九:Shell流程控制语句

实验目的:
  1. 掌握条件判断语句,如if语句、case语句。
  2. 掌握循环控制语句,如for语句、while语句、until语句。
实验内容:
  1. 编写一个Shell脚本,利用for循环把当前目录下的所有*.c文件复制到指定的目录中,并显示复制后该目录内按文件大小排序的目录文件清单。
  2. 使用until语句创建一个Shell程序,其功能为计算1-10的平方。
操作步骤:
1. 复制*.c文件并排序

Shell脚本内容

#!/bin/bash
# 定义目标目录
TARGET_DIR="/path/to/destination"# 创建目标目录如果它不存在
mkdir -p "$TARGET_DIR"# 遍历当前目录下的所有.c文件
for FILE in *.c; do# 复制文件到目标目录cp "$FILE" "$TARGET_DIR"
done# 显示目标目录内按文件大小排序的文件清单
echo "文件清单(按大小排序):"
ls -lSh "$TARGET_DIR" | sort -h

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

执行步骤

  1. 将上述脚本保存为copy_and_sort.sh
  2. 赋予执行权限:chmod +x copy_and_sort.sh
  3. 执行脚本:./copy_and_sort.sh

描述

  • mkdir -p "$TARGET_DIR": 创建目标目录(如果不存在)。
  • for FILE in *.c; do ... done: 遍历当前目录下的所有.c文件。
  • cp "$FILE" "$TARGET_DIR": 将每个.c文件复制到目标目录。
  • ls -lSh "$TARGET_DIR" | sort -h: 显示目标目录内按文件大小排序的文件清单。
2. 计算1-10的平方

Shell脚本内容

#!/bin/bash
# 使用until循环计算1-10的平方i=1
until [ $i -gt 10 ]; doecho "$i 的平方是 $(( $i * $i ))"((i++))
done

在这里插入图片描述

执行步骤

  1. 将上述脚本保存为squares.sh
  2. 赋予执行权限:chmod +x squares.sh
  3. 执行脚本:./squares.sh

描述

  • i=1: 初始化计数器变量i为1。
  • until [ $i -gt 10 ]: 使用until循环直到i大于10。
  • echo "$i 的平方是 $(( $i * $i ))": 打印i的平方。
  • ((i++)): i的值每次循环增加1。
实验内容命令描述
复制*.c文件并排序mkdir -p "$TARGET_DIR"创建目标目录(如果不存在)
for FILE in *.c; do ... done遍历当前目录下的所有.c文件
cp "$FILE" "$TARGET_DIR"将每个.c文件复制到目标目录
`ls -lSh “$TARGET_DIR”sort -h`
计算1-10的平方i=1初始化计数器变量i为1
until [ $i -gt 10 ]使用until循环直到i大于10
echo "$i 的平方是 $(( $i * $i ))"打印i的平方
((i++))i的值每次循环增加1

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com