Using functions in menus
In Chapter 6, Iterating with Loops, we created the menu.sh
file. Menus are great targets to use functions, as the case
statement is maintained very simply with single-line entries, while the complexity can still be stored in each function. We should consider creating a function for each menu item. If we copy the previous $HOME/bin/menu.sh
to $HOME/bin/menu2.sh
, we can improve the functionality. The new menu should look like the following code:
#!/bin/bash # Author: @likegeeks # Web: likegeeks.com # Sample menu with functions # Last Edited: April 2018 to_lower() { input="$1" output=$( echo $input | tr [A-Z] [a-z]) return $output } do_backup() { tar -czvf $HOME/backup.tgz ${HOME}/bin } show_cal() { if [ -x /usr/bin/ncal ] ; then command="/usr/bin/ncal -w" else command="/usr/bin/cal" fi $command } while true do clear echo "Choose an item: a, b or c" echo "a: Backup" echo "b: Display Calendar...