实验九 Linux中Shell流程控制语句(for语句、while语句、until语句)


实验目的

  • 掌握条件判断语句,如if语句、case语句。
  • 掌握循环控制语句,如for语句、while语句、until语句。

实验内容:

1、编写一个Shell脚本,利用for循环把当前目录下的所有*.c文件复制到指定的目录中,并显示复制后该目录内按文件大小排序的目录文件清单。

要编写一个Shell脚本,用于复制当前目录下所有.c文件到指定目录,并显示复制后该目录内按文件大小排序的文件清单,可以按照以下步骤操作:

  1. 打开文本编辑器:首先,打开一个文本编辑器,比如nanovim

  2. 创建脚本文件:创建一个新的脚本文件,例如命名为copy_and_list.sh。可以使用以下命令在终端中创建并编辑这个文件:

    nano copy_and_list.sh
    

    或者

    vim copy_and_list.sh
    
  3. 编写脚本内容:在打开的编辑器中,输入以下内容:

    #!/bin/bash
    
    # 指定目标目录
    TARGET_DIR="/path/to/destination"
    
    # 检查目标目录是否存在,如果不存在则创建
    if [ ! -d "$TARGET_DIR" ]; then
        mkdir -p "$TARGET_DIR"
    fi
    
    # 复制当前目录下的所有*.c文件到目标目录
    for file in *.c; do
        if [ -f "$file" ]; then
            cp "$file" "$TARGET_DIR"
        fi
    done
    
    # 显示目标目录内按文件大小排序的文件清单
    ls -lSh "$TARGET_DIR" | awk '{print $9 " " $5}'
    

    请将/path/to/destination替换为想要复制文件到的目标目录路径。

  4. 保存并退出编辑器

    • 如果使用的是nano,可以按Ctrl + X,然后按Y确认保存,最后按Enter键退出。
    • 如果使用的是vim,可以按Esc键,输入:wq,然后按Enter键保存并退出。
  5. 给脚本文件添加执行权限:在终端中,使用chmod命令给脚本文件添加执行权限:

    chmod +x copy_and_list.sh
    
  6. 执行脚本:在终端中,运行以下命令来执行脚本:

    ./copy_and_list.sh
    

    这将复制当前目录下的所有.c文件到指定的目标目录,并显示目标目录内按文件大小排序的文件清单。

请注意,这个脚本假设有足够的权限在目标目录中创建文件和目录。如果没有,可能需要使用sudo命令来执行脚本,或者确保有足够的权限。此外,ls -lSh命令用于以人类可读的格式显示文件大小,并按大小排序。awk命令用于提取并显示文件名和大小。

2、使用until语句创建一个Shell程序,其功能为计算1-10的平方。

要使用until循环语句创建一个Shell程序,用于计算1到10的平方,可以按照以下步骤操作:

  1. 打开文本编辑器:首先,打开一个文本编辑器,比如nanovim

  2. 创建脚本文件:创建一个新的脚本文件,例如命名为squares.sh。你可以使用以下命令在终端中创建并编辑这个文件:

    nano squares.sh
    

    或者

    vim squares.sh
    
  3. 编写脚本内容:在打开的编辑器中,输入以下内容:

    #!/bin/bash
    
    # 初始化变量
    num=1
    
    # 使用until循环计算1-10的平方
    until [ $num -gt 10 ]; do
        square=$((num * num))
        echo "Square of $num is $square"
        num=$((num + 1))
    done
    

    这个脚本使用until循环,条件是num大于10。在循环体内,计算num的平方并打印结果,然后num自增1。

  4. 保存并退出编辑器

    • 如果你使用的是nano,可以按Ctrl + X,然后按Y确认保存,最后按Enter键退出。
    • 如果你使用的是vim,可以按Esc键,输入:wq,然后按Enter键保存并退出。
  5. 给脚本文件添加执行权限:在终端中,使用chmod命令给脚本文件添加执行权限:

    chmod +x squares.sh
    
  6. 执行脚本:在终端中,运行以下命令来执行脚本:

    ./squares.sh
    

    这将输出1到10每个数字的平方。

这个脚本展示了如何使用until循环来重复执行一系列操作,直到满足某个条件为止。在这个例子中,条件是num大于10。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值