Não sei onde cada opção do exemplo se refere. Aqui está um tutorial de trabalho - Como criar um script com um menu semelhante.
Primeiro, você precisa instalar o dialog
. Este aplicativo fornece um método de exibir vários tipos diferentes de caixas de diálogo de scripts de shell:
sudo apt install dialog
Em seguida, crie o arquivo executável, vamos chamá-lo smenu
e colocá-lo no diretório /usr/local/bin/
, assim ele estará acessível como o shell inteiro:
sudo touch /usr/local/bin/smenu
sudo chmod +x /usr/local/bin/smenu
sudo nano /usr/local/bin/smenu
O conteúdo do script deve ficar assim:
#!/bin/bash
HEIGHT=18
CHOICE_HEIGHT=10
WIDTH=78
BACKTITLE="SYSTEM MENU"
TITLE="[ M A I N - M E N U ]"
MENU="Tasks:"
OPTIONS=(
Network/IP "IP Settings [sudo nano /etc/hosts ]"
Network/DNS "DNS Settings [sudo nano /etc/resolv.conf ]"
Network/IFCS "Network Interfaces [sudo nano /etc/network/interfaces ]"
Timezone "Set Time Zone [sudo dpkg-reconfigure tzdata ]"
Reboot "Reboot the System [sudo systemctl reboot ]"
Shutdown "Shutdown the System [sudo shutdown ]"
Logout/Exit "Logout the Session [logout ]"
Update "Update & Upgrade & autoRemove & autoClean [sudo apt ...]"
Edit "Edit this script [sudo nano /usr/local/bin/system-menu]"
Shell "Exit to Shell"
)
CHOICE=$(dialog --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
clear
case $CHOICE in
Network/IP)
sudo nano /etc/hosts
;;
Network/DNS)
sudo nano /etc/resolv.conf
;;
Network/IFCS)
sudo nano /etc/network/interfaces
;;
Timezone)
sudo dpkg-reconfigure tzdata
;;
Reboot)
sudo systemctl reboot
;;
Shutdown)
sudo shutdown
;;
Exit)
logout
;;
Update)
sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean
echo "**"
sudo uname -a
echo "**"
sudo lsb_release -a
echo "**"
[ -e /var/run/reboot-required* ] && echo "Reboot is required!" || echo "Reboot is not required."
;;
Edit)
sudo nano /usr/local/bin/smenu
;;
Shell)
exit
;;
esac
- Copie o conteúdo acima e use em
nano
: Deslocar + Inserir para colar; Ctrl + O e Enter para salvar; Ctrl + X para sair. - Todos os comandos usados no script estão disponíveis no Ubuntu 16.04.
- O conteúdo entre parênteses
[...]
é apenas um lembrete do que será executado.
Agora, você poderá acessar o script por meio do comando smenu
. O resultado deve ser:
Se você quiser abrir este script após o login em um terminal, anexe a próxima linha à parte inferior do arquivo ~/.bashrc
:
/usr/local/bin/smenu
Em vez de dialog
pode ser usada a ferramenta whiptail
, que oferece grande parte da mesma funcionalidade (e opções) como dialog
, e é instalada por padrão na maioria das distribuições do Ubuntu. Para este propósito use o script acima e mude a linha 22
desta maneira:
CHOICE=$(whiptail --clear \
Agora, a saída do nosso script / comando smenu
deve ficar assim: