首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

10 个有趣的 Shell 脚本:让终端充满魔力和效率

以下是一些有趣且实用的Shell脚本创意,既能帮助你提高效率,也能在学习过程中增加趣味性:

 彩色命令行输出

让命令行不再单调!通过这个脚本,你可以输出不同颜色的文本,帮助区分重要信息。

#!/bin/bash

# 使用 -e 参数来启用反斜杠转义字符

# "\e[31m" 代表红色,"\e[32m" 代表绿色,"\e[34m" 代表蓝色

# "\e[0m" 代表重置颜色

echo -e "\e[31m这是红色文本\e[0m"

echo -e "\e[32m这是绿色文本\e[0m"

echo -e "\e[34m这是蓝色文本\e[0m"

运行后,你会看到终端输出不同颜色的文本,增加视觉效果!

 批量重命名文件

自动化文件重命名脚本,方便你快速修改大量文件的名称。

这个脚本会为当前目录下的所有.txt文件添加前缀“new_”,极大提高效率。

⏳ 倒计时脚本

编写一个倒计时脚本,可以用作提醒工具,输入倒计时时间,每秒更新一次输出。

#!/bin/bash

# 提示用户输入倒计时秒数

echo "输入倒计时秒数:"

read time

# 开始循环倒计时,直到时间为 0

while [ $time -gt 0 ]; do

# 输出剩余秒数

echo "$time 秒剩余"

# 递减倒计时

time=$((time-1))

# 等待一秒钟

sleep 1

done

# 倒计时结束,输出提示

echo "时间到!"

这段代码可以用于休息提醒,或者执行其他定时任务。

 随机密码生成器

需要复杂的密码?这个脚本可以快速生成一个随机密码,简单好用。

#!/bin/bash

# 输出生成的随机密码,使用 tr 从 /dev/urandom 读取字符并过滤为字母和数字

# head -c 12 限制密码长度为 12 个字符

echo "生成的随机密码是:"

tr -dc A-Za-z0-9 </dev/urandom | head -c 12 ; echo ''

这个脚本每次运行时都会生成一个由12个字符组成的随机密码,非常适合快速创建复杂密码。

 模拟进度条

为长时间运行的脚本加上一个进度条,看看进程正在如何执行!

#!/bin/bash

# 输出进度提示

echo -n "进度:"

# 循环 50 次,每次输出一个 "#" 并等待 0.1 秒

for i in {1..50}; do

echo -n "#"

sleep 0.1

done

# 当循环结束,输出完成提示

echo " 完成!"

虽然不是真实的进度条,但这个小技巧能让脚本更具交互性。

 天气查询脚本

快速查询天气预报,输入城市名称,即可查看该城市的最新天气情况。

 显示随机名言

为你的命令行生活增添一点哲理,每次执行脚本都会输出一句随机的名言。

#!/bin/bash

# 创建一个包含名言的数组

quotes=("行百里者半九十" "不积跬步无以至千里" "天道酬勤" "勇敢面对失败")

# 随机选择一条名言,$RANDOM 是 Bash 内置的随机数生成器

random_quote=${quotes[$RANDOM % ${#quotes[@]}]}

# 输出名言

echo "今日名言:$random_quote"

每次运行都会给你一些生活启示,随机的名言会让人不禁莞尔一笑。

 文件夹整理助手

一个小助手,帮你根据文件类型自动整理文件夹,让文件不再乱七八糟。

这个脚本会根据文件扩展名自动创建文件夹,并将相应文件归类其中。

🧮 计算器脚本

创建一个简单的命令行计算器,支持加减乘除,方便你在终端快速计算。

#!/bin/bash

# 提示用户输入第一个数字

echo "输入第一个数字:"

read num1

# 提示用户输入运算符

echo "输入运算符 (+, -, *, /):"

read op

# 提示用户输入第二个数字

echo "输入第二个数字:"

read num2

# 使用 bc 命令进行数学运算

result=$(echo "$num1 $op $num2" | bc)

# 输出计算结果

echo "计算结果是:$result"

这个计算器支持基本的运算符,能让你在终端中快速解决数学问题。

 生日倒计时提醒

帮助你计算还有多少天就是某人的生日,非常实用的提醒工具。

#!/bin/bash

# 提示用户输入生日日期

echo "请输入生日 (YYYY-MM-DD):"

read birthday

# 获取今天的日期

today=$(date +%Y-%m-%d)

# 计算两日期相差的天数,单位为秒,除以 86400 得到天数

days_left=$(( ( $(date -d "$birthday" +%s) - $(date -d "$today" +%s) )/(60*60*24) ))

# 输出剩余的天数

echo "距离下一个生日还有 $days_left 天!"

用这个脚本可以轻松计算出距离生日还有多少天,方便提醒自己记得庆祝!

这些有趣的Shell脚本既有用又能提高你的命令行操作乐趣。通过这些小工具,你不仅可以提高工作效率,还能为日常操作增添一些互动感。

点击下方

关注我们

分享,点赞,在看,

期待你的关注

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OcOZsNZ2IOM8zIbIItJaSkyQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券