实验九:Shell流程控制语句
实验目的:
- 掌握条件判断语句,如if语句、case语句。
- 掌握循环控制语句,如for语句、while语句、until语句。
实验内容:
- 编写一个Shell脚本,利用for循环把当前目录下的所有
*.c
文件复制到指定的目录中,并显示复制后该目录内按文件大小排序的目录文件清单。 - 使用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
执行步骤:
- 将上述脚本保存为
copy_and_sort.sh
。 - 赋予执行权限:
chmod +x copy_and_sort.sh
。 - 执行脚本:
./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
执行步骤:
- 将上述脚本保存为
squares.sh
。 - 赋予执行权限:
chmod +x squares.sh
。 - 执行脚本:
./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 |
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【Linux实践】实验九:Shell流程控制语句
发表评论 取消回复