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...