#!/usr/bin/env bash upgrade_options='' args=$(getopt -a -o hy --long opts:,help -- "$@") version='v1.1' update_database() { echo 'Updating database...' apt update } upgrade_packages() { echo 'Upgrading packages...' apt upgrade $upgrade_options } help_page() { show_version echo "Usage:" echo -e "\tapt-up [-h/--help] [-y/--yes] [--opts $upgrade_options]" echo "Description:" echo -e "\t-h/--help diaplays the help page of apt-up." echo -e "\t-y/--yes automates the upgrade progress." echo -e '\t--opts transports $upgrade_options to apt.' exit -1 } show_version() { echo -e "apt-up ${version}\n" } update() { update_database upgrade_packages exit 0 } eval set -- "${args}" while :; do case $1 in -y | --yes) upgrade_options+='-y ' update ;; -h | --help) help_page ;; --opts) upgrade_options+=$2 update shift ;; *) update ;; esac shift done