文章目录
- 1. 计算1到100的和
- 2. 列出当前目录下所有文件和文件夹
- 3. 检查文件是否存在
- 4. 备份文件到指定目录(简单示例)
- 5. 打印系统当前日期和时间
- 6. 统计文件中的行数
- 7. 批量重命名文件(将.txt后缀改为.bak)
- 8. 查找进程并杀死(根据进程名简单查找)
- 9. 创建多个空文件
- 10. 简单的菜单脚本
【网络云计算】2024第50周-每日【2024/12/13】小测-理论-写10个Bash Shell脚本-解析
1. 计算1到100的和
bash">#!/bin/bash
# 初始化一个变量sum为0
sum=0
# 使用for循环从1到100累加
for (( i = 1; i <= 100; i++ )); dosum=$((sum + i))
done
# 输出结果
echo "1到100的和为: $sum"
2. 列出当前目录下所有文件和文件夹
bash">#!/bin/bash
# 使用ls命令列出当前目录内容, -l表示长格式
ls -l
3. 检查文件是否存在
bash">#!/bin/bash
file="test.txt"
# 使用 -e选项检查文件是否存在
if [ -e $file ]; thenecho "$file存在"
elseecho "$file不存在"
fi
4. 备份文件到指定目录(简单示例)
bash">#!/bin/bash
# 源文件
src_file="source.txt"
# 目标备份目录
backup_dir="/backup"
# 检查源文件是否存在
if [ -e $src_file ]; then# 如果备份目录不存在则创建if [! -d $backup_dir ]; thenmkdir -p $backup_dirfi# 使用cp命令备份文件cp $src_file $backup_direcho "文件 $src_file 备份到 $backup_dir 成功"
elseecho "源文件 $src_file 不存在,无法备份"
fi
5. 打印系统当前日期和时间
bash">#!/bin/bash
# 使用date命令获取并打印日期和时间
date
6. 统计文件中的行数
bash">#!/bin/bash
file="data.txt"
# 使用wc -l命令统计行数
line_count=$(wc -l < $file)
echo "$file的行数为: $line_count"
7. 批量重命名文件(将.txt后缀改为.bak)
bash">#!/bin/bash
# 遍历当前目录下所有.txt文件
for file in *.txt; doif [ -e $file ]; thennew_file="${file%.txt}.bak"mv $file $new_fileecho "重命名 $file 为 $new_file"fi
done
8. 查找进程并杀死(根据进程名简单查找)
bash">#!/bin/bash
process_name="firefox"
# 使用pgrep查找进程ID
pid=$(pgrep $process_name)
if [ -n "$pid" ]; then# 使用kill命令杀死进程kill $pidecho "已杀死进程 $process_name,进程ID为 $pid"
elseecho "未找到名为 $process_name 的进程"
fi
9. 创建多个空文件
bash">#!/bin/bash
# 创建5个空文件
for (( i = 1; i <= 5; i++ )); dotouch "file_$i.txt"echo "创建了文件file_$i.txt"
done
10. 简单的菜单脚本
bash">#!/bin/bash
while true; doecho "1. 显示当前目录内容"echo "2. 显示日期和时间"echo "3. 退出"read -p "请选择操作: " choicecase $choice in1)ls -l;;2)date;;3)break;;*)echo "无效选择,请重新输入";;esac
done
这些脚本涵盖了Bash脚本的一些常见操作,如数学计算、文件操作、进程管理和用户交互等。