编写shell脚本实现如下菜单界面: Menu 1) 1 2) 2 3) 3 4) 4 #? 选择后打印以选定选项为边长的*实心正方形。(一颗*为一个单位长度)
在Shell脚本中创建这样一个简单的命令行菜单并打印指定选项的星号图案,你可以使用select
、echo
和循环结构。下面是一个基本的示例:
```bash #!/bin/bash
创建菜单选项
options=("1" "2" "3" "4")
显示菜单
echo "Menu" for i in "${options[@]}"; do echo -n "$i) $i " done echo "#?"
获取用户选择并处理
while true; do read -p "请选择(1-4): " choice if [[ "$choice" =~ ^[1-4]$ ]]; then break else echo "请输入1到4之间的数字。" fi done
根据选择打印星号图案
case $choice in 1) rows=$(printf "%d\n" $choice) printf "\n%s\n" $(seq 1 $rows | tr ' ' '') ;; 2) rows=$((choice * choice)) printf "\n%s\n" $(seq 1 $rows | tr ' ' '') ;; 3) # 三角形模式 printf "\n" for ((i = 0; i < choice; i++)); do printf "" for ((j = i + 1; j < choice; j++)); do printf " " done printf "\n" done ;; 4) # 长方形模式 cols=$(($choice * 2 - 1)) printf "\n" for ((i = 0; i < choice; i++)); do printf "" for ((j = 0; j < cols; j++)); do if [ $((i + j)) -eq $choice ]; then printf "" else printf " " fi done printf "*\n" done ;; esac
相关推荐


















