利用shell脚本打印图形

本文介绍了如何使用Shell脚本来创建各种图形,如正方形、矩形、直角和等腰三角形、等腰梯形以及菱形。详细讲解了`echo`命令的选项,特别是`-n`和`-e`,并展示了使用`seq`命令来生成数字序列。最后,还展示了如何生成乘法表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打印正方形

1.初始
在这里插入图片描述
在这里插入图片描述
2.设置不换行
在这里插入图片描述
在这里插入图片描述
3.增加外层循环
在这里插入图片描述
在这里插入图片描述
4.增加换行
在这里插入图片描述

### 如何使用 Shell 脚本实现打印菜单栏功能 在 Shell 脚本中,可以通过多种方式实现菜单栏的功能。以下是几种常见的方法及其对应的代码示例。 #### 方法一:通过 `echo` 和 `read` 手动构建菜单 这种方法是最基础的方式之一,适合初学者理解和学习。它利用简单的 `echo` 命令显示菜单项,并通过 `read` 获取用户的输入。 ```bash #!/bin/bash function menu { clear echo -e "\t\t\tSys Admin Menu\n" echo -e "\t1. Display disk space" echo -e "\t2. Display logged on users" echo -e "\t3. Display memory usage" echo -e "\t0. Exit menu\n\n" echo -en "\t\tEnter an option: " read -n 1 option } while [ 1 ]; do menu case $option in 1) df -h ;; 2) who ;; 3) free -m ;; 0) exit ;; *) echo "Invalid option";; esac done ``` 此代码片段展示了如何手动创建一个简单菜单[^2]。用户可以选择不同的选项来执行相应的命令。 --- #### 方法二:使用 `select` 构建交互式菜单 `select` 是 Bash 提供的一个内置命令,可以简化菜单的编写过程。它的语法更加简洁,适用于动态生成菜单的情况。 ```bash #!/bin/bash PS3="Please enter your choice: " options=("Display disk space" "Display logged on users" "Display memory usage" "Exit") select opt in "${options[@]}"; do case $opt in "Display disk space") df -h ;; "Display logged on users") who ;; "Display memory usage") free -m ;; "Exit") break ;; *) echo "Invalid option.";; esac done ``` 这段代码使用了 `select` 来自动处理用户的选择。相比手动编写的菜单,这种方式更易于维护和扩展。 --- #### 方法三:借助外部工具(如 `whiptail` 或 `dialog`) 对于需要更高视觉效果的应用场景,可以考虑使用图形化界面库 `whiptail` 或 `dialog`。这些工具能够提供更具吸引力的菜单样式。 ##### 使用 `whiptail` 的例子: ```bash #!/bin/bash test=$(whiptail --title "JumpServer" --menu "请选择菜单选项(光标上下选择):" 30 60 5 \ "1" "web01" \ "2" "web02" \ "3" "web03" \ "4" "web04" \ "5" "web05" 3>&1 1>&2 2>&3) case $test in 1) echo "You selected web01" ;; 2) echo "You selected web02" ;; 3) echo "You selected web03" ;; 4) echo "You selected web04" ;; 5) echo "You selected web05" ;; esac ``` 上面的例子演示了如何用 `whiptail` 创建一个多选菜单[^3]。这种形式特别适合终端环境下的 GUI 风格应用。 --- #### 总结 以上三种方法分别代表了不同复杂度和技术栈下实现 Shell 菜单的方法。可以根据实际需求选择合适的技术方案。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值