我想用文字gui使用bash脚本 这是我的代码!
#!/bin/bash
red='\033[0;31m'
NC='\033[0;37m'
clear
#<-Main Menu
echo -e "
#---------------------------------#
| $red Hello $NC |
#---------------------------------#
| 1: Choice 1 |
#---------------------------------#
"
输出
#---------------------------------#
| Hello | #Here is it
#---------------------------------#
| 1: Choice 1 |
#---------------------------------#
Your choice is ?(number):
如何解决? :C
答案 0 :(得分:0)
重组怎么样?也许是这样的事情?
#!/usr/bin/env bash
function showmenu() {
# options:
# $1 - menu name (string)
# $2 - name of argument array
red='\033[0;31m'
NC='\033[0;37m'
printf '#'; printf '%.0s-' {1..33}; printf '#\n'
printf '|'; n=${#1}; printf "${red}%$((16+n/2))s${NC}" "$1"; printf " %${n}s" " "; printf '|\n'
printf '#'; printf '%.0s-' {1..33}; printf '#\n'
local -n items="${2}"
local count=0
for item in "${items[@]}"; do
printf '| %-2s %-29s|\n' "$((++count))." "$item"
done
printf '#'; printf '%.0s-' {1..33}; printf '#\n'
}
testitems=(foo bar "This is a longer item")
showmenu "Hello there" testitems
read -p 'Your choice is ?(number): ' choice
如果您有这种冲动,您当然可以根据输入内容对菜单进行更多的数学计算。