Using functions in menus
In the last chapter, 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: @theurbanpenguin # Web: www.theurbapenguin.com # Sample menu with functions # Last Edited: Sept 2015 function to_lower { input="$1" output=$(tr [A-Z] [a-z] <<< "$input") return $output } function do_backup { tar -czvf $HOME/backup.tgz ${HOME}/bin } function 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...