如何水平回显线条

如何水平回显线条

我正在制作一个包含各种选项的菜单供用户选择,但是一旦行达到 10,模式就会发生变化。由于数字 10 有两位数字,模式当然会改变。我希望能够在每行达到 9 行时立即开始一个新行,以保持每行一位数字的模式。示例 1 是我当前的输出。我们如何实现这个解决方案?

Example 1                                    Desired output

1)                                         1)              1)
2)                                         2)              2)
.)                                         .)              .
.)                                         .)              .
9)                                         9)              9)
10)                                           

我的代码示例

echo -e "${MENU}*********************************************${NORMAL}"
echo -e "${MENU}**${NUMBER} 1)${MENU} Option 1) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 2)${MENU} Option 2) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 3)${MENU} Option 3) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 4)${MENU} Option 4) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 5)${MENU} Option 5) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 6)${MENU} Option 6) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 7)${MENU} Option 7) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 8)${MENU} Option 8)${NORMAL}"
echo -e "${MENU}**${NUMBER} 9)${MENU} Option 9) ${NORMAL}"
echo -e "${MENU}**${NUMBER} 10)${MENU} Option10)  ${NORMAL}"
echo -e "${MENU}**${NUMBER} 11)${MENU} Option11) ${NORMAL}"
echo -e "${MENU}*********************************************${NORMAL}"
echo -e "${ENTER_LINE}Please enter a menu option and enter or            ${RED_TEXT}enter to exit. ${NORMAL}"
read sub3
while [ sub3 != '' ]
do
if [[ $sub3 = "" ]]; then
  exit;
else
  case $sub3 in
  1) sub_menu4;

  #othersub;
  ;;

  2) clear;
    sub_menu4;

  #othersub;
  ;;

3) clear; 
 sub_menu4;;

4) clear; 
 sub_menu4;;

x)exit;
  ;;

  \n)exit;
  ;;

  *)clear;
  option_picked "Pick an option from the menu";
  sub_menu4;
  ;;
  esac
fi
done
}

答案1

请运行此命令作为示例:

clear; tput cup 4 10; printf "Menu Item 1"; tput cup 7 30;  printf "Menu Item 29";tput cup 23 0; printf "Make your selection"

然后查看命令man页面tput以了解其功能。之后就是简单的比较和屏幕坐标算术逻辑。看来您已经掌握了 shell 脚本编写。所以写起来应该不会太难

相关内容