为什么格式化的文本块显示奇怪?

时间:2015-08-29 03:21:33

标签: linux bash ubuntu

我想知道你是否可以帮助我。

我想为我正在处理的其中一个脚本编写一个菜单。目前,我的脚本是:

echo "########################################"
echo "#               Script tasks           #"
echo "#                                      #"
echo "#   1 Show running processes           #"
echo "#   2 Show logged in users             #"
... (continued)
echo "########################################"

然而,当我在我的脚本中运行它时,由于某种原因,行末端的一些#符号要么缩进到框中,要么进一步向外推,导致右侧盒子看起来非常糟糕而且没有经过深思熟虑。我希望盒子的右侧看起来均匀(即,实际上就像一个盒子)。

我在Ubuntu 14.04 LTS上使用Bash并使用gedit作为我的文本编辑器。

1 个答案:

答案 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"