我想知道你是否可以帮助我。
我想为我正在处理的其中一个脚本编写一个菜单。目前,我的脚本是:
echo "########################################"
echo "# Script tasks #"
echo "# #"
echo "# 1 Show running processes #"
echo "# 2 Show logged in users #"
... (continued)
echo "########################################"
然而,当我在我的脚本中运行它时,由于某种原因,行末端的一些#
符号要么缩进到框中,要么进一步向外推,导致右侧盒子看起来非常糟糕而且没有经过深思熟虑。我希望盒子的右侧看起来均匀(即,实际上就像一个盒子)。
我在Ubuntu 14.04 LTS上使用Bash并使用gedit作为我的文本编辑器。
答案 0 :(得分:1)
这不是您的问题,但在shell脚本中执行菜单的方法是使用select
命令
# an array with the menu choices
choices=(
"Show running processes"
"Show logged in users"
"..."
)
# define the prompt
PS3="What is your choice? "
# display and get user input
# select is an infinite loop: `break` when you've done something successfully
select choice in "${choices[@]}"; do
case "$choice" in
"Show running processes")
some code here
break
;;
"Show logged in users")
some code here
break
;;
*)
echo "Please select a number from the menu."
# do not break, select will re-display
;;
esac
done
# if you need the choice afterward, you still have it
echo "$choice"