实验九: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 ]; do
    echo "$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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部